【牛客网】二进制中1的个数
来源:互联网 发布:微信公众号淘宝返利 编辑:程序博客网 时间:2024/05/16 11:04
题目
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。陷入死循环的代码
class Solution {public: int NumberOf1(int n) { int m = 0; while (n){ m+=(n & 1); n>>=1;//此步如果n为正数,则AC;为负数,会陷入死循环,因为负 } //数右移一位后其最高位还是1 return m; }};
- 正确代码1
class Solution {public: int NumberOf1(int n) { int m = 0,flag=1; while (flag){ if(n & flag) m++; flag<<=1;//左移1,然后相与 } //既然右移n不行,考虑到左移1 return m; }};
- 正确代码2
class Solution {public: int NumberOf1(int n) { int m = 0; while (n){ m++; n=n&(n-1);//n和n-1相与,相当于把n最右边的位由1变为0 } return m; }};
0 0
- 【牛客网】二进制中1的个数
- 牛客网-二进制中1的个数
- 牛客网 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- dell3900机型安装xp64位操作系统
- 堆排序
- Android ImageView实现图片切换
- HDU 1711 KMP算法入门
- Maven新建webapp项目index.jsp报错
- 【牛客网】二进制中1的个数
- Hashmap为什么容量是2的幂次,什么是负载因子
- 远程计算机或设备将不接受连接,IE无法上网
- cocos2d判断精灵某点颜色是否有效
- linux安装jdk
- 微软账户登录 win10 共享
- 华为oj-购物单(依赖背包问题)
- leetCode:283.Move Zeros
- GDB调试错误(运行异常): Cannot find bounds of current function