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

特定の文字列の文字を再配置して、Pythonで回文を形成できるかどうかを確認します


文字列sがあるとすると、指定された文字列の文字をシャッフルして回文を作成できるかどうかを確認する必要があります。

したがって、入力がs ="raaecrc"のような場合、これを回文である "racecar"に再配置できるため、出力はTrueになります。

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

  • freq:=すべての文字とその頻度をsに格納するためのマップ
  • odd_count:=0
  • freqのすべての値のリストにある各要素iについて、
      を実行します。
    • iが奇数の場合、
      • odd_count:=odd_count + 1
    • odd_count> 1の場合、
      • Falseを返す
  • Trueを返す

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

from collections import defaultdict
def solve(st) :
   freq = defaultdict(int)
   for char in st :
      freq[char] += 1
   odd_count = 0
   for i in freq.values():
      if i % 2 == 1:
         odd_count = odd_count + 1
      if odd_count > 1:
         return False
   return True
s = "raaecrc"
print(solve(s))

入力

"raaecrc"

出力

True

  1. 指定された文字列が母音回文であるかどうかを確認するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −文字列(母音と子音の両方の文字を含む)が与えられ、すべての子音を削除してから、結果の文字列が回文であるかどうかを確認します。 ここでは、最初に文字列に存在するすべての子音を削除します。各値を1から計算された最小値まで除算することによって計算されて除数を計算するループ 条件が真であると評価されるたびに、カウンターは1ずつ増加します。 文字列内のすべての子音を削除します。ここで、母音の文字列が回文であるかどうか、つまり、指定された文字列とその反転が同一であるかどうかを確認します。それがpalindromep

  2. 指定された文字列が回文数であるかどうかを確認するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列入力が与えられた場合、それが回文であるかどうかを確認するためにPython関数を作成する必要があります。 文字列の逆が文字列と同一である場合、文字列は回文と呼ばれます。 これは2つの方法で実行できます- スライスによる反転 負の索引付けによる比較 ここでは、スライスの助けを借りて文字列の反転を学習します。 スライスの方法で文字列を反転するには、次のステートメントを指定します- Str[ : : -1 ] 開始パラメータと終了パラメータが割り当てられておらず、ステップ値