Pythonのシーケンスから最大のk-repeatingサブストリングを見つけるプログラム
sと呼ばれる文字のシーケンスがあると仮定します。wがk回連結されている場合、文字列wはkを繰り返す文字列であり、シーケンスのサブ文字列です。 wの最大k繰り返し値は、最大値kになります。ここで、wは順番にk繰り返しです。また、wが指定されたシーケンスの部分文字列でない場合、wの最大k繰り返し値は0です。したがって、sとwがある場合、wの最大k繰り返し値を順番に見つける必要があります。
したがって、入力がs ="papaya" w ="pa"の場合、w ="pa"は"papaya"に2回存在するため、出力は2になります。
これを解決するには、次の手順に従います-
-
カウント:=sに存在するwの数
-
Countが0と同じ場合、
-
0を返す
-
-
範囲内のiの場合は0までカウントし、1ずつ減らします。
-
wの繰り返しがsに存在する場合、
-
iを返す
-
-
例(Python)
理解を深めるために、次の実装を見てみましょう-
def solve(s, w): Count=s.count(w) if Count==0: return 0 for i in range(Count,0,-1): if w*i in s: return i s = "papaya" w = "pa" print(solve(s, w))
入力
"papaya", "pa"
出力
2
-
Pythonの等差数列から削除された用語を見つけるプログラム
n-1個の等差数列項を保持するnumsという配列があるとします。 numsの最初または最後の要素を除く1つの要素が以前に削除されました。削除された番号を見つける必要があります。 したがって、入力がnums =[5、7、11、13]の場合、項目は式2i + 5に従うため、出力は9になります。したがって、i=2の場合は2*2+5になります。 =9がありません。 これを解決するには、次の手順に従います- numsのサイズが2と同じ場合、 (numsに存在するすべての要素の合計)/2のリターンフロア nums [0]を返します 下:=nums [0]
-
Pythonで最大の建物の高さを見つけるプログラム
値nと、制限と呼ばれるペアの別のリストがあるとします。都市にn棟の新しい建物を建てたいと思っています。ただし、制限はほとんどありません。私たちは一列に建てることができ、建物には1からnまでのラベルが付けられています。制限には2つのパラメーターがあるため、restrictions [i] =(id_i、max_height_i)は、id_iの高さがmax_height_i以下でなければならないことを示します。新しい建物の高さに関する市の制限は次のとおりです- 各建物の高さは0または正の値である必要があります。 最初の建物の高さは0でなければなりません。 隣接する2つの建物の高さ