如果您有足够的内存可以玩,一种有效的方法可以对O(1)中数字的二进制表示形式中的1进行计数。这是我在一个在线论坛上发现的面试问题,但没有答案。有人可以提出建议吗,我想不出一种在O(1)时间内做到的方式?
那就是汉明(Hamming)体重问题,也就是人口数。该链接提到了有效的实现。报价:
有了无限的内存,我们可以简单地创建一个大的查找表,其中包含每个64位整数的汉明权重