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

二进制中1的个数

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

class Solution {
public:
    int NumberOf1(int n) {
        // write code here
        unsigned int m = (unsigned)n;   // 将正负数均转为无符号整数
        int sum = 0;
        while (m > 1) {
            if(m%2){    // 求余运算转二进制,余数为1则添加
                sum++;
            }
            m/=2;   // 更新当前
        }
        if(m) sum++;    // 最后一个还是1,继续算上一个
        return sum;
    }
};

挤挤刷刷! 文章被收录于专栏

记录coding过程

全部评论

相关推荐

11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
09-29 11:19
门头沟学院 Java
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务