《剑指Offer》 二进制中1的个数
来源:互联网 发布:淘宝黑搜索技术 编辑:程序博客网 时间:2024/05/01 23:56
题目描述:
题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
思路:
设置初始count=0,先进行++count,并做n=n&(n-1),就是为了从右往左计算1的值。因为负数是用补码表示的,所以也是同样道理。
代码:
class Solution {public: int NumberOf1(int n) { int count=0; while(n){ ++count; n=n&(n-1);//从右往左计算1的个数 } return count; }};
输出结果: 运行时间: <1 ms 占用内存:8568K 状态:答案正确
0 0
- 剑指offer:二进制中1的个数
- 剑指offer:二进制中1的个数
- 【剑指offer】二进制中1的个数
- [剑指Offer]二进制中1的个数
- 【剑指offer】二进制中1的个数
- 剑指offer--二进制中1的个数
- 剑指offer:二进制中1的个数
- 剑指offer 二进制中1的个数
- 剑指offer 二进制中1的个数
- 《剑指offer》二进制中1的个数
- 剑指 offer:二进制中1的个数
- 剑指offer-二进制中1的个数
- 剑指offer 二进制中1的个数
- 剑指offer-二进制中1的个数
- 剑指offer 二进制中1的个数
- [剑指offer]二进制中1的个数
- 《剑指offer》-二进制中1的个数
- 剑指offer|二进制中1的个数
- CDOJ 31 饭卡(card)及HDOJ 2546 饭卡
- 截获室友的梦话
- 《c++primer》笔记 第1章 开始
- C#特性详解
- 蓝桥 灾后重建
- 《剑指Offer》 二进制中1的个数
- 第1天:从计算机结构到汇编程序入门
- 导航条标题设置
- Could not create the view: An unexpected exception was thrown.问题解决
- bzoj1299 [LLH邀请赛]巧克力棒
- 4.6日学习日志
- 作业 进程 线程
- P1108 低价购买
- 就乱七八糟的前台页面显示遇到设置的界面效果