Python-Nより大きいKの連続範囲
「N」より大きい「K」の連続範囲を取得する必要がある場合は、「enumerate」属性と単純な反復が使用されます。
例
以下は同じもののデモンストレーションです
my_list = [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65] print("The list is :") print(my_list) K = 65 N = 3 print("The value of K is ") print(K) print("The value of N is ") print(N) my_result = [] beg, end = 0, 0 previous = 1 for index, element in enumerate(my_list): if element == K: end = index if previous != K: beg = index else: if previous == K and end - beg + 1 >= N: my_result.append((beg, end)) previous = element print("The result is :") print(my_result)
出力
The list is : [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65] The value of K is 65 The value of N is 3 The result is : [(4, 10)]
説明
-
リストが定義され、コンソールに表示されます。
-
「K」と「N」の値が定義され、コンソールに表示されます。
-
空のリストが定義されています。
-
「前へ」の値が定義されています。
-
「beginning」と「end」の値が定義されています。
-
リストは列挙することで繰り返されます。
-
リスト内のいずれかの要素が別の値「k」と同等である場合、インデックス値が再定義されます。
-
それ以外の場合は、「前へ」の値が再定義されます。
-
開始値と終了値が空のリストに追加されます。
-
これは出力として返されます。
-
出力はコンソールに表示されます。
-
Pythonでターゲットよりも大きい最小の文字を見つける
ソートされた文字の文字のリストがあるとします。これには小文字のみが含まれています。ターゲット文字tがあります。リスト内で、指定されたターゲットよりも大きい最小の要素を見つける必要があります。 そして、文字も回ります。したがって、ターゲットがt =zで文字=[a、b]の場合、答えはaです。 したがって、入力が[c、 f、 j]、t =aの場合、出力はcになります。 これを解決するには、次の手順に従います- l:=0 r:=文字のサイズ-1 l <=rの場合、do mid:=(l + r)/2整数として がターゲットの場合、 r:=mid -1 それ以外の場合、 l
-
Pythonでの最長の連続シーケンス
整数の配列があるとします。連続する最長の要素シーケンスの長さを見つける必要があります。したがって、入力が[100、4、250、1、3、2]の場合、最長の連続シーケンスは[1,2,3,4]であるため、回答は4になります。 これを解決するには、次の手順に従います- 配列を最長:=0に設定します 範囲配列内のiの場合- i –1が-にない場合 現在:=i、ストリーク:=0 私が-にいる間 iを1増やし、ストリークを1増やします 最長:=最長とストリークの最大値 最長で戻る 例 理解を深めるために、次の実装を見てみましょう- cla