码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 338. Counting Bits,剑指offer二进制中1的个数

时间:2019-03-07 01:01:56      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:nbsp   its   tco   个数   htm   style   solution   http   lse   

leetcode是求当前所有数的二进制中1的个数,剑指offer上是求某一个数二进制中1的个数

https://www.cnblogs.com/grandyang/p/5294255.html 第三种方法,利用奇偶性找规律 

class Solution {
public:
    vector<int> countBits(int num) {
        vector<int> result{0};
        for(int i = 1;i <= num;i++){
            if(i % 2 == 0)
                result.push_back(result[i/2]);
            else
                result.push_back(result[i/2] + 1);
        }
        return result;
    }
};

 

 

 

class Solution {
public:
     int  NumberOf1(int n) {
         int count = 0;
         while(n){
             n = (n-1) & n;
             count++;
         }
         return count;
     }
};

 

leetcode 338. Counting Bits,剑指offer二进制中1的个数

标签:nbsp   its   tco   个数   htm   style   solution   http   lse   

原文地址:https://www.cnblogs.com/ymjyqsx/p/10486755.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!