ホームページ  >  記事  >  ウェブフロントエンド  >  バイナリ文字列内の任意のループの最初と最後に配置される連続する 0 の最大数を見つける JavaScript プログラム

バイナリ文字列内の任意のループの最初と最後に配置される連続する 0 の最大数を見つける JavaScript プログラム

WBOY
WBOY転載
2023-09-01 20:33:021358ブラウズ

JavaScript 程序查找二进制字符串任意循环中在开头和结尾处连续放置的 0 的最大数量

バイナリ文字列のループの先頭と末尾に連続して配置されるゼロの最大数を見つける JavaScript プログラムを作成します。私たちのプログラムはバイナリ文字列を入力として受け取り、指定された文字列のローテーションの先頭と末尾に配置されたゼロの最大数を返します。この問題を解決するために、文字列操作テクニックを使用して入力文字列を操作し、目的の出力を見つけます。

次のステップでは、入力文字列を回転し、回転された文字列の先頭と末尾にあるゼロの数を数えます。元の入力文字列に再び到達するまで文字列の回転を続け、すべての回転中に先頭と末尾に配置されるゼロの最大数を追跡します。

最後に、プログラムの出力としてゼロの最大数を返します。このプログラムは非常に効率的で、線形時間計算量で実行されるため、入力が大きい場合でもこの問題を解決するのに適しています。

###方法###

バイナリ文字列の回転の最初と最後に連続して配置されるゼロの最大数を見つけるには、次の手順に従います -

    まず、元のバイナリ文字列がそれ自体と連結されて、新しい文字列が形成されます。
  • 次に、ループを使用して、反復ごとに新しい文字列の先頭から末尾まで 1 文字を移動することにより、バイナリ文字列の可能なすべての回転を生成します。
  • 回転ごとに、文字列の先頭と末尾に連続して配置されるゼロの数を見つけます。
  • これまでに見つかったゼロの最大数を変数に格納します。
  • すべての回転が処理されるまで、手順 3 と 4 を繰り返します。
  • 変数に格納される最終値は、バイナリ文字列のループの先頭と末尾に連続して配置されるゼロの最大数です。
  • ###例###
  • 以下は、バイナリ文字列の回転の最初と最後に連続して配置されるゼロの最大数を見つける JavaScript プログラムの例です -
リーリー

イラスト

関数

maxZeros
    バイナリ文字列を入力として受け取り、その文字列の回転の最初と最後に連続して配置されたゼロの最大数を返します。
  • 最初のステップは、元のバイナリ文字列内のゼロの数を見つけることです。これは、0 以外の文字が出現するまで継続する

    while
  • ループを使用して実現されます。ゼロの数は
  • originalZeros

    変数に保存されます。 次のステップは、ループを通過するたびにバイナリ文字列内のゼロの数を見つけることです。これを行うには、

    1
  • から始まりバイナリ文字列の長さまで続く
  • for

    ループを使用します。ループを繰り返すたびに、現在の文字が 0 であるかどうかを確認します。そうであれば、rotatedZeros カウントをインクリメントします。そうでない場合は、rotatedZeros カウントを 0 にリセットします。最後に、rotatedZerosmaxZeros を比較することで、これまでに確認されたゼロの最大数を更新します。 >そして、2 つのうち大きい方を保持します。 ループが終了したら、最大数のゼロを返します。

  • 最後に、関数の使用例では、バイナリ文字列を使用して関数を呼び出し、結果をコンソールに記録する方法を示します。

以上がバイナリ文字列内の任意のループの最初と最後に配置される連続する 0 の最大数を見つける JavaScript プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。