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

Pythonで連続する共通文字を含む部分文字列の長さを見つけるプログラム


文字列sがあるとすると、同じ文字列を持つ最長の部分文字列の長さを見つける必要があります。

したがって、入力が「abbbaccabbbba」のような場合、4つの連続したbがあるため、出力は4になります。

これを解決するには、次の手順に従います-

  • sのサイズが0の場合、
    • 0を返す
  • s:=s連結空白スペース
  • ct:=1、tem:=1
  • 範囲0からs-2のサイズのiの場合、実行
    • s[i]がs[i+ 1]と同じ場合、
      • tem:=tem + 1
    • それ以外の場合、
      • ct:=temとctの最大値
      • tem:=1
  • return ct

理解を深めるために、次の実装を見てみましょう-

class Solution:
   def solve(self, s):
      if len(s)==0:
         return 0
      s+=' '
      ct=1
      tem=1
      for i in range(len(s)-1):
         if s[i]==s[i+1]:
            tem+=1
         else:
            ct=max(tem,ct)
            tem=1
      return ct
ob = Solution()
print(ob.solve("abbbaccabbbba"))

入力

"abbbaccabbbba"

出力

4

  1. Pythonで最長の連続シーケンスの長さを見つけるプログラム

    並べ替えられていない数値の配列があるとすると、連続する要素の最長シーケンスの長さを見つける必要があります。 したがって、入力がnums =[70、7、50、4、6、5]の場合、連続する要素の最長シーケンスは[4、5、6、7]であるため、出力は4になります。したがって、その長さを返します:4。 これを解決するには、次の手順に従います- nums:=numsのすべての一意の要素 max_cnt:=0 numsのnumごとに、実行します num-1がnumsにない場合、 cnt:=0 numがnumsに存在する間、実行します num:=num + 1

  2. 文字列内のミラー文字を検索するPythonプログラム

    ユーザー入力文字列とその位置からの位置を指定すると、文字をアルファベット順に文字列の長さまでミラーリングする必要があります。この操作では、「a」を「z」に、「b」を「y」に、「c」を「x」に、「d」を「w」に変更します。これは、最初の文字が最後になることを意味します。オン。 Inpu t: p = 3 Input string = python Output : pygslm アルゴリズム Step 1: Input the string and position from we need to mirror the characters. Step 2: Creating a s