有些算法题中需要计算数字中1的个数,怎么执行效率才最高?
比如leetcode中的此题:https://leetcode-cn.com/problems/counting-bits/
直接上代码:
int getBits(int data)
{
int count = 0;
while(data != 0)
{
data &= data - 1;
count++;
}
return count;
}
有些算法题中需要计算数字中1的个数,怎么执行效率才最高?
比如leetcode中的此题:https://leetcode-cn.com/problems/counting-bits/
直接上代码:
int getBits(int data)
{
int count = 0;
while(data != 0)
{
data &= data - 1;
count++;
}
return count;
}