2275。ビットごとの AND がゼロより大きい最大の組み合わせ
難易度: 中
トピック: 配列、ハッシュ テーブル、ビット操作、カウント
配列 nums の ビット単位の AND は、nums 内のすべての整数のビット単位の AND です。
正の整数の候補の配列が与えられます。候補数のすべての組み合わせのビット単位のANDを評価します。候補内の各数字は、各組み合わせで 1 回のみ使用できます。
ビットごとの AND 0 より大きいを使用した候補の最大の組み合わせのサイズを返します。
例 1:
例 2:
制約:
ヒント:
解決策:
組み合わせ内のすべての数値にわたって、バイナリ表現の少なくとも 1 つのビット位置が設定 (1) のままである数値のグループを識別することに重点を置く必要があります。
ビット分析: 候補内の各数値は最大 24 ビットの 2 進数で表現できるため (1
各位置でセット ビットを数える: 各ビット位置について、候補内のそのビットが 1 に設定されている数値がいくつあるかを数えます。複数の数値が同じ位置でビットを共有している場合、それらは可能性があります。そのビット位置でゼロより大きいビット単位の AND の組み合わせを形成する可能性があります。
最大数を見つける: ビットごとの AND の結果が次の値より大きい、考えられる最大の組み合わせを表すため、任意の位置に設定されたビットを持つ数値の最大数が答えになります。ゼロ。
候補 = [16, 17, 71, 62, 12, 24, 14]:
を検討しますこのソリューションを PHP で実装してみましょう: 2275。ビットごとの AND がゼロより大きい最大の組み合わせ
<?php /** * @param Integer[] $candidates * @return Integer */ function largestCombination($candidates) { ... ... ... /** * go to ./solution.php */ } // Example usage $candidates = [16, 17, 71, 62, 12, 24, 14]; echo largestCombination($candidates); // Output: 4 ?>
このアプローチは、入力サイズ制限 (candidates.length 5) を処理するのに十分効率的です。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上がゼロより大きいビット単位の AND の最大の組み合わせの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。