Pythonでバイナリ文字列のすべての1が等距離にあるかどうかを確認します
バイナリ文字列strがあるとすると、文字列内のすべての1が等距離にあるかどうかを確認する必要があります。つまり、2つの1の間の距離は同じです。また、文字列には少なくとも2つの1が含まれています。
したがって、入力がs ="100001000010000"の場合、1は互いに4の距離にあるため、出力はTrueになります。
これを解決するには、次の手順に従います-
- index:=新しいリスト
- 0からsのサイズの範囲のiについては、
- s [i]が1と同じ場合、
- インデックスの最後にiを挿入
- s [i]が1と同じ場合、
- t:=インデックスのサイズ
- 1からt-1の範囲のiの場合、do
- (index [i] --index [i --1])が(index [1] --index [0])と同じでない場合、
- Falseを返す
- (index [i] --index [i --1])が(index [1] --index [0])と同じでない場合、
- 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
-
ツリー内のすべての値がPythonで同じかどうかをチェックするプログラム
二分木があるとすると、ツリー内のすべてのノードが同じ値であるかどうかを確認する必要があります。 したがって、入力が次のような場合 その場合、出力はTrueになります これを解決するには、次の手順に従います- 関数solve()を定義します。これはルートになり、val ルートがnullの場合、 Trueを返す valが定義されていない場合、 val:=ルートの値 ルートの値がvalと同じで、solve(ルートの左側、val)およびsolve(ルートの右側、val)もtrueの場合、trueを返します 理解を深めるために、次の実装を見
-
文字列が空かどうかをチェックするPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列を入力したら、文字列が空かどうかを確認する必要があります。 Python文字列は本質的に不変であるため、操作を実行するときは、文字列を処理するときに注意が必要です。 ここでは、上記の問題ステートメントを解決するための2つのアプローチについて説明します- len()メソッドを使用します。 等式演算子を使用します。 アプローチ1:len()メソッドを使用する 例 test_str1 = "" test_str2 = "@@@" if(l