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

エンコーディングがPythonで一意のバイナリ文字列を表しているかどうかを確認します


サイズkのバイナリ文字列のエンコーディングを表すnumsという配列があるとすると、指定されたエンコーディングがバイナリ文字列を一意に検出するかどうかを確認する必要があります。ここで、エンコーディングには、単一の0で区切られた連続する1のカウントがあります。

したがって、入力がnums =[4、2、3] k =11のような場合、k =11の11110110111のようなバイナリ文字列があるため、出力はTrueになります。

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

  • total:=numsのすべての要素の合計
  • 合計:=合計+数値のサイズ-1
  • 合計がkと同じ場合はtrueを返し、それ以外の場合はfalseを返します

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

def solve(nums, k):
   total = sum(nums)
   total += len(nums) - 1
   return total == k
nums = [4, 2, 3]
k = 11
print(solve(nums, k))

入力

[4, 2, 3], 11

出力

True

  1. 配列がPythonで二分探索木の順序を表しているかどうかを確認します

    numsと呼ばれる数値の配列があるとします。配列が二分探索木の要素を順番にトラバーサルする順序で保持しているかどうかを確認する必要があります。 したがって、入力がnums =[5、8、15、18、20、26、39]のような場合、これは順序どおりのトラバーサルであるため、出力はTrueになります これを解決するには、次の手順に従います- size:=numsのサイズ サイズが0または1の場合、 Trueを返す iの範囲が1からサイズ-1の場合、実行します nums [i]の場合、 Falseを返す Trueを返す 理解を深めるために、次の実装を見てみましょう-

  2. 文字列にすべての一意の文字が含まれているかどうかを確認するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 sring入力が与えられた場合、文字列にすべての一意の文字が含まれているかどうかを確認する必要があります。 アプローチ ブール値の配列を作成します。ここで、インデックスiの変数フラグは、アルファベットの文字iが文字列に含まれているかどうかを示します。 この文字に2回目に遭遇したとき、文字列文字は一意ではなくなったため、すぐにfalseを返すことができます。 文字列の長さがアルファベットに表示される一意の文字数の値を超える場合も、falseを返すことができます。 文