如果你有足够的内存来计算O(1)中一个数的二进制表示中的1的个数,这是一个有效的方法。这是我在一个在线论坛上找到的一个面试问题,但它没有答案。有人能提个建议吗?我想不出能在O(1)时间内完成的方法。
发布于 2012-01-16 00:28:22
这就是Hamming weight的问题。人口计数。该链接提到了有效的实现。引用:
有无限的内存,我们可以简单地创建一个包含每个64位整数
的汉明权重的大型查找表
https://stackoverflow.com/questions/8871204
复制相似问题