《编程之美》- 第二章节 - 数字之魅 - 2.1 - 求二进制数中1的个数 - 课后扩展问题解答 1 >>
如果变为32位的DWORD,显然使用解法四,五已经无法满足要求,
因为无法开辟这么大的数组空间,人为也不可能列举这么多的数,
来看解法一,二 ,算法的时间复杂度没有变,同样可以完美的解出,
来看解法三,时间复杂度依然只和1的个数有关,是最优的解法
2 >>
整数A和B的二进制表示中有多少位不同?
这里,首先想到,如果不同,这可以使用异或运算,然后问题就转化为求一个二进制数中1的个数,采用解法三可以很快算出来。
时间: 2024-08-24 07:20:35