#191.位1的个数-简单
数学
题目:
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。
思路:
用%取的整数的最低位,然后用>>1将输入的二进制数最低位消除,从而进行迭代。
void rotate(int* nums, int numsSize, int k){
int *nums_temp= calloc(numsSize + 1, sizeof(int)); ;
int i,j;
for(i=0;i<numsSize;i++)
{
nums_temp[i]=nums[i];
}
//copy the nums
for(j=0;j<numsSize;j++)
{
nums[(j+k)%numsSize]=nums_temp[j];
}
}