Python
 Computer >> コンピューター >  >> プログラミング >> Python

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

  1. 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]

  2. Pythonで最大の建物の高さを見つけるプログラム

    値nと、制限と呼ばれるペアの別のリストがあるとします。都市にn棟の新しい建物を建てたいと思っています。ただし、制限はほとんどありません。私たちは一列に建てることができ、建物には1からnまでのラベルが付けられています。制限には2つのパラメーターがあるため、restrictions [i] =(id_i、max_height_i)は、id_iの高さがmax_height_i以下でなければならないことを示します。新しい建物の高さに関する市の制限は次のとおりです- 各建物の高さは0または正の値である必要があります。 最初の建物の高さは0でなければなりません。 隣接する2つの建物の高さ