この問題では、配列から長さ N の欠落しているバイナリ文字列をすべて見つける必要があります。この問題は、長さ N のバイナリ文字列のすべての順列を見つけて、配列内にどの順列が存在しないかをチェックすることで解決できます。ここでは、この問題を解決するための反復的および再帰的方法を見ていきます。
問題ステートメント - 異なる長さのバイナリ文字列を含む長さ N の配列 arr[] が与えられました。配列から長さ N の欠落しているバイナリ文字列をすべて見つける必要があります。
入力 – arr = {"111", "001", "100", "110"}, N = 3
出力 – [000, 010, 011, 101]
説明 – 2 の 3 乗は 8 に等しいため、長さ 3 のバイナリ文字列が 8 つあります。したがって、不足している長さ 3 の 4 つのバイナリ文字列が出力されます。
入力 – str = {‘00’, ‘10’, ‘11’}, N = 2
出力 –['01']
説明 – 「01」が配列にないため、出力に表示されます。
ここでは、反復法を使用して、長さ N の可能なバイナリ文字列をすべて見つけます。その後、文字列が配列内に存在するかどうかを確認します。存在しない場合は、文字列を出力します。
###アルゴリズム###
の文字列の総数です。
###例### リーリー ###出力### リーリー
このアプローチでは、長さ N のすべての可能なバイナリ文字列を見つけるための再帰的アプローチの使用を示します。
###アルゴリズム###
generateCombinations() 関数で基本ケースを定義します。インデックスが N に等しい場合、currentCombination がリストに追加されます。
###例### リーリー ###出力### リーリー
時間計算量 - O(N*2N)どちらの方法も同じロジックを使用して問題を解決します。最初の方法では、反復手法を使用して長さ N のバイナリ文字列のすべての組み合わせを検索します。これは、2 番目の方法で使用される再帰的手法よりも高速です。また、2 番目の方法は最初の方法よりも多くのスペースを消費します。
以上が指定されたサイズのバイナリ文字列配列に存在しない順列を検索しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。