指定されたサイズのバイナリ文字列配列に存在しない順列を検索します
この問題では、配列から長さ 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」が配列にないため、出力に表示されます。
方法 1
ここでは、反復法を使用して、長さ N の可能なバイナリ文字列をすべて見つけます。その後、文字列が配列内に存在するかどうかを確認します。存在しない場合は、文字列を出力します。
###アルゴリズム###- コレクションを定義し、insert() メソッドを使用して、配列内のすべての文字列をコレクションに追加します。
の文字列の総数です。
変数 'cnt' を定義し、それをゼロに初期化して、欠落している組み合わせの総数を保存します。 -
文字列の格納に set を使用するため、空間複雑度 - O(N)。
方法 2
このアプローチでは、長さ N のすべての可能なバイナリ文字列を見つけるための再帰的アプローチの使用を示します。
###アルゴリズム###
コレクションを定義し、すべての配列値をコレクションに挿入します。
generateCombinations() 関数を呼び出してバイナリ文字列のすべての組み合わせを生成します
generateCombinations() 関数で基本ケースを定義します。インデックスが N に等しい場合、currentCombination がリストに追加されます。
- 現在の組み合わせに「0」または「1」を追加した後、generateCombinations() 関数を再帰的に呼び出します。
-
-
###例### リーリー ###出力### リーリー
時間計算量 - O(N*2N) -
どちらの方法も同じロジックを使用して問題を解決します。最初の方法では、反復手法を使用して長さ N のバイナリ文字列のすべての組み合わせを検索します。これは、2 番目の方法で使用される再帰的手法よりも高速です。また、2 番目の方法は最初の方法よりも多くのスペースを消費します。
以上が指定されたサイズのバイナリ文字列配列に存在しない順列を検索しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









暗号通貨の人気により、仮想通貨取引プラットフォームが登場しています。世界の上位10の仮想通貨取引プラットフォームは、トランザクションの量と市場シェアに従って次のようにランク付けされています:Binance、Coinbase、FTX、Kucoin、Crypto.com、Kraken、Huobi、Gate.io、Bitfinex、Gemini。これらのプラットフォームは、幅広い暗号通貨の選択から、さまざまなレベルのトレーダーに適したデリバティブ取引に至るまで、幅広いサービスを提供しています。

ブートストラップの写真を集中させる方法はたくさんあり、FlexBoxを使用する必要はありません。水平にのみ中心にする必要がある場合、テキスト中心のクラスで十分です。垂直または複数の要素を中央に配置する必要がある場合、FlexBoxまたはグリッドがより適しています。 FlexBoxは互換性が低く、複雑さを高める可能性がありますが、グリッドはより強力で、学習コストが高くなります。メソッドを選択するときは、長所と短所を比較検討し、ニーズと好みに応じて最も適切な方法を選択する必要があります。

ゴマのオープンエクスチェンジを中国語に調整する方法は?このチュートリアルでは、コンピューターとAndroidの携帯電話の詳細な手順、予備的な準備から運用プロセスまで、そして一般的な問題を解決するために、セサミのオープン交換インターフェイスを中国に簡単に切り替え、取引プラットフォームをすばやく開始するのに役立ちます。

上位10の暗号通貨取引プラットフォームには、1。Okx、2。Binance、3。Gate.io、4。Kraken、5。Huobi、6。Coinbase、7。Kucoin、8。Crypto.com、9。Bitfinex、10。Gemini。プラットフォームを選択する際には、セキュリティ、流動性、処理料、通貨選択、ユーザーインターフェイス、カスタマーサポートを考慮する必要があります。

トップ10仮想通貨取引プラットフォーム2025:1。OKX、2。BINANCE、3。GATE.IO、4。Kraken、5。Huobi、6。Coinbase、7。Kucoin、8。Crypto.com、9。Bitfinex、10。Gemini。プラットフォームを選択する際には、セキュリティ、流動性、処理料、通貨選択、ユーザーインターフェイス、カスタマーサポートを考慮する必要があります。

C35の計算は、本質的に組み合わせ数学であり、5つの要素のうち3つから選択された組み合わせの数を表します。計算式はC53 = 5です! /(3! * 2!)。これは、ループで直接計算して効率を向上させ、オーバーフローを避けることができます。さらに、組み合わせの性質を理解し、効率的な計算方法をマスターすることは、確率統計、暗号化、アルゴリズム設計などの分野で多くの問題を解決するために重要です。

Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

安全で信頼できるデジタル通貨プラットフォーム:1。OKX、2。Binance、3。Gate.io、4。Kraken、5。Huobi、6。Coinbase、7。Kucoin、8。Crypto.com、9。Bitfinex、10。Gemini。プラットフォームを選択する際には、セキュリティ、流動性、処理料、通貨選択、ユーザーインターフェイス、カスタマーサポートを考慮する必要があります。
