如果您有足够的内存可以玩的话,这是计算 O(1) 中数字的二进制表示中 1 的数量的有效方法。这是我在网上论坛上找到的一个面试问题,但是没有答案。有人可以提出建议吗,我想不出在 O(1) 时间内完成的方法?
最佳答案
那是 Hamming weight问题,又名人口统计。该链接提到了有效的实现。引用:
With unlimited memory, we could simply create a large lookup table of the Hamming weight of every 64 bit integer
关于algorithm - 计算二进制表示中 1 的个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8871204/