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

Pythonで文字列の辞書式順序で最大のパリンドロームサブシーケンスを検索する


文字列Sがあるとします。その文字列の辞書式順序で最大のパリンドロームサブシーケンスを見つける必要があります。

したがって、入力が「tutorialspointtutorial」のような場合、出力は「uu」になります

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

  • ans:=空白の文字列

  • max_val:=s [0]

  • 1からsのサイズの範囲のiの場合、実行します

    • max_val:=max_valの最大値、s [i]

  • 0からsのサイズの範囲のiの場合、実行します

    • s [i]がmax_valと同じ場合、

      • ans:=ans + s [i]

  • ansを返す

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

def largest_palindromic_substr(s):
   ans = ""
   max_val = s[0]
   for i in range(1, len(s)):
      max_val = max(max_val, s[i])
   for i in range(0, len(s)):
      if s[i] == max_val:
         ans += s[i]
   return ans

s = "tutorialspointtutorial"
print(largest_palindromic_substr(s))

入力

"tutorialspointtutorial"

出力

uu

  1. 配列内の最大の要素を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、配列の最大要素を計算する必要があります。 ここでは、ループ全体をトラバースして最大の要素を計算し、要素を取得するブルートフォースアプローチを使用します。 以下の実装を観察できます。 例 # largest function def largest(arr,n):    #maximum element    max = arr[0]    # traverse the whole loop    for

  2. 指定された文字列のバイナリ表現で最大の連続する1の長さを見つけるPythonプログラム。

    数を指定して、バイナリ表現で最も長い連続する1の長さを見つけます。 例 Input: n = 15 Output: 4 The binary representation of 14 is 1111. アルゴリズム Step 1: input the number. Step 2: use one counter variable c=0. Step 3: Count the number of iterations to reach i = 0. Step 4: This operation reduces length of every sequence of 1s by one.