2275。ビットワイズとゼロを超える最大の組み合わせ
難易度: medium
トピック:アレイ、ハッシュテーブル、ビット操作、カウント
bitwiseとarray numsのはビットワイズであり、すべての整数のnums。
の組み合わせのビットワイズとを評価します。候補者の各番号は、各組み合わせでに1回のみ使用できます。 return 最大の
最大のの組み合わせとビットワイズとの組み合わせは0 よりも。。 例1:
入力:
入力:候補者= [8,8]
1 5
ビットごとにゼロを超えるには、組み合わせのすべての数値に対して少なくとも1つのビットが1でなければなりません。 候補者は長さ24ビットなので、ビット位置ごとに最大の組み合わせのサイズを計算して、ビットワイズとそのビット位置で1を持つようになります。
解決策の概要
count各位置でセットビットをカウントします:各ビット位置について、候補者の数が1に設定されている数を数えます。複数の数字が同じ位置で少し共有する場合、ビット位置でビットワイズとゼロよりも大きい組み合わせを形成する可能性があります。
例
候補を考慮する= [16、17、71、62、12、24、14]:各番号をバイナリに変換し、ビット位置を分析します。 すべての数値で各ビットが設定されている回数をカウントします。
2275に実装しましょう。ビットワイズとゼロを超える最大の組み合わせ
各ビット位置をループします:各ビット位置を0から23に反復します。
github
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3