この問題では、隣接しない要素のみを削除して、指定されたバイナリ文字列を降順に並べ替える必要があります。
この問題を解決するには、バイナリ文字列内の 1 の前にある 0 をすべて削除する必要があります。文字列のどこかに 2 つの連続する 0 とそれに続く 2 つの連続する 1 が見つかった場合、文字列を降順に並べ替えることができないことを意味します。それ以外の場合は、それぞれの状況を分類できます。
問題文 - 長さが N に等しいバイナリ文字列 str が与えられています。文字列から複数の隣接しない文字を削除することで、指定された文字列を降順に並べ替えられるかどうかを確認する必要があります。指定された文字列。文字列を降順にソートできる場合は「yes」を出力し、そうでない場合は「no」を出力します。
###例### リーリー リーリーイラスト
イラスト
方法1
ステップ 1
ステップ 2
ステップ 3
ステップ 4
p>ステップ 5
###例### リーリー ###出力### リーリー 時間計算量 - O(N)、文字列を反復処理する場合。
ステップ 1
ステップ 2
ステップ 3
ステップ 4
ステップ 5
###例### リーリー ###出力### リーリー 時間計算量 - O(N)
隣接しない文字のみを削除してバイナリ文字列を降順に並べ替える 2 つの方法を学習しました。どちらの方法でも、コードへの変更を最小限に抑えながら同じロジックを使用します。 2 番目のアプローチのコードは、最初のアプローチのコードよりも読みやすくなっています。
以上が隣接しない文字を削除してバイナリ文字列を降順に並べ替えられるかどうかを確認しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。