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

Pythonでバイナリ文字列のすべての1が等距離にあるかどうかを確認します


バイナリ文字列strがあるとすると、文字列内のすべての1が等距離にあるかどうかを確認する必要があります。つまり、2つの1の間の距離は同じです。また、文字列には少なくとも2つの1が含まれています。

したがって、入力がs ="100001000010000"の場合、1は互いに4の距離にあるため、出力はTrueになります。

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

  • index:=新しいリスト
  • 0からsのサイズの範囲のiについては、
    • s [i]が1と同じ場合、
      • インデックスの最後にiを挿入
  • t:=インデックスのサイズ
  • 1からt-1の範囲のiの場合、do
    • (index [i] --index [i --1])が(index [1] --index [0])と同じでない場合、
      • Falseを返す
  • Trueを返す

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

def solve(s):
   index = []
   for i in range(len(s)):
      if s[i] == '1':
         index.append(i)
   t = len(index)
   for i in range(1, t):
      if (index[i] - index[i - 1]) != (index[1] - index[0]):
         return False
   return True
s = "100001000010000"
print(solve(s))

入力

"100001000010000"

出力

True

  1. ツリー内のすべての値がPythonで同じかどうかをチェックするプログラム

    二分木があるとすると、ツリー内のすべてのノードが同じ値であるかどうかを確認する必要があります。 したがって、入力が次のような場合 その場合、出力はTrueになります これを解決するには、次の手順に従います- 関数solve()を定義します。これはルートになり、val ルートがnullの場合、 Trueを返す valが定義されていない場合、 val:=ルートの値 ルートの値がvalと同じで、solve(ルートの左側、val)およびsolve(ルートの右側、val)もtrueの場合、trueを返します 理解を深めるために、次の実装を見

  2. 文字列が空かどうかをチェックするPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列を入力したら、文字列が空かどうかを確認する必要があります。 Python文字列は本質的に不変であるため、操作を実行するときは、文字列を処理するときに注意が必要です。 ここでは、上記の問題ステートメントを解決するための2つのアプローチについて説明します- len()メソッドを使用します。 等式演算子を使用します。 アプローチ1:len()メソッドを使用する 例 test_str1 = "" test_str2 = "@@@" if(l