题解 | #二进制中1的个数#

二进制中1的个数

http://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8

#include <iostream>
using namespace std;
class Solution {
public:
    /**
     * 求数字的二进制形式中1的个数
     * @param n 待求数字
     * @return 1的个数
     */
    int hammingWeight(uint32_t n) {
        int count = 0;
        while (n) {
            n &= n - 1; // n &= (n-1)相当于把n最右边的1消去,所以count等于1的个数
            count++;
        }
        return count;
    }
};
int main() {
    Solution s;
    cout << s.hammingWeight(9) << endl;
    return 0;
}
全部评论

相关推荐

在评审的大师兄很完美:像这种一般就是部门不匹配 转移至其他部门然后挂掉 我就是这样被挂了
点赞 评论 收藏
分享
吃不饱的肱二头肌很想退休:tnnd 我以为选妹子呢,亏我兴高采烈的冲进来😠
投递快手等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务