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

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


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

したがって、入力がs ="aarcrce"のような場合、文字をシャッフルして回文である「レースカー」を形成できるため、出力はTrueになります。

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

  • サイズ:=256
  • freq:=サイズ256の配列で、0で埋めます
  • 0からsのサイズの範囲のiについては、
    • freq配列の文字s[i]の頻度を1増やします
  • odd_count:=0
  • 0からサイズの範囲のiの場合は、
    • freq [i]がiddの場合、
      • odd_count:=odd_count + 1
    • odd_count> 1の場合、
      • Falseを返す
  • Trueを返す

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

size = 256
def solve(s) :
   freq = [0] * size
   for i in range( 0, len(s)) :
      freq[ord(s[i])] = freq[ord(s[i])] + 1
   odd_count = 0
   for i in range(0, size) :
      if freq[i] % 2 == 1 :
         odd_count = odd_count + 1
      if odd_count > 1:
         return False
   return True
s = "aarcrce"
print(solve(s))

入力

"aarcrce"

出力

True

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

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

  2. 文字列をPythonでfloatに変換できるかどうかを確認するにはどうすればよいですか?

    文字列を解析してfloatするには、次を使用できます。 try:     print float('112.15') except ValueError:     print 'Cannot parse' これにより、出力が得られます: 112.15 文字列を解析できない場合は、値エラーがスローされます。 指定した文字列のブール値を返すラッパーメソッドを作成できます。たとえば、 def isfloat(value):   try:     float(value)   &nbs