首页 > 其他分享 >191. 位1的个数

191. 位1的个数

时间:2023-11-30 15:58:40浏览次数:29  
标签:反码 个数 最低 191 ans 原码

191. 位1的个数

2021年3月22日每日一题

0ms代码,o(*≧▽≦)ツ笑

\(-n\&n\),其作用是返回\(n\)二进制最低位的\(1\)所对应的\(2\)的幂

学会这个可以去学一下树状数组了

原理是:

​ 原码在最低位\(1\)之前都是\(0\),取反码则是最低位\(0\)之前都是\(1\)
​ 补码=反码\(+1\),反码因为进位,最低位的1位置必然和原码相同。

class Solution {
public:
    int hammingWeight(uint32_t n) {
        int ans=0;
        while(n){
     n-=-n&n;
           ans++;
        }
        return ans;
    }
};

标签:反码,个数,最低,191,ans,原码
From: https://www.cnblogs.com/CrossAutomaton/p/17867525.html

相关文章