1. ホーム
  2. algorithm

[解決済み] 2進数表現で1の数を数える

2023-05-17 04:50:28

質問

もし十分なメモリがあれば、O(1)で数の2進表現における1の数を数える効率的な方法を教えてください。これは私がオンラインフォーラムで見つけたインタビューの質問ですが、それは答えを持っていませんでした。私はO(1)時間でそれを行う方法を思いつかないので、誰かが何かを提案することができますか?

どのように解決するのですか?

それは ハミングウェイト 問題、別名母数問題です。リンク先では効率的な実装に言及しています。引用します。

無制限のメモリがあれば、すべての 64 ビット整数のハミング重量の大きなルックアップテーブルを単純に作成することができます。