天天看点

剑指 Offer-JZ11-二进制中1的个数题目描述补充解题思路实现运行结果

题目描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

补充

补码

原码、反码、补码知识详细讲解(此作者是我找到的讲的最细最明白的一个)

解题思路

行吧。。。我不太会按位操作。。。看答案吧。。。

牛客官方题解

实现

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

运行结果

运行时间:4ms

占用内存:484k

继续阅读