剑指Offer - 面试题15. 二进制中1的个数(位运算)
1. 题目
请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。
示例 1:
输入:00000000000000000000000000001011
输出:3
解释:输入的二进制串 00000000000000000000000000001011 中,
共有三位为 '1'。示例 2:
输入:00000000000000000000000010000000
输出:1
解释:输入的二进制串 00000000000000000000000010000000 中,
共有一位为 '1'。示例 3:
输入:11111111111111111111111111111101
输出:31
解释:输入的二进制串 11111111111111111111111111111101 中,
共有 31 位为 '1'。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/er-jin-zhi-zhong-1de-ge-shu-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
n&(n-1)
得到的数比n
的二进制少一个1
class Solution {public:int hammingWeight(uint32_t n) {int count = 0;while(n){n = n&(n-1);count++;}return count;}
};
剑指Offer - 面试题15. 二进制中1的个数(位运算)相关推荐
- 剑指offer面试题15. 二进制中1的个数(位运算)
题目描述 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 思路 详见链接 代码 cla ...
- 剑指offer面试题[10]-二进制中1的个数
题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 分析: 这是一道很基本的考察二进制和位运算的面试题.思路:先判断证书二进制表示中最右边的一位是不是1.接着再把输入的数字右移 ...
- 剑指offer:面试题15. 二进制中1的个数
题目:二进制中1的个数 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 示例 1: 输 ...
- 【剑指offer-Java版】10二进制中1的个数
二进制中1的个数: 思路一:循环右移给定的数,但是存在负数出现死循环的问题 思路二:声明一个变量flag并初始化为1,然后循环右移flag,循环次数是和给定数的精度也就是位数有关 思路三:用了二进制一 ...
- [剑指offer][JAVA]面试题第[15]题[二进制中1的个数][位运算]
[问题描述][简单] 请实现一个函数,输入一个整数(无符号数),输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2.示例 ...
- 面试题15. 二进制中1的个数
请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 示例 1: 输入:0000000000 ...
- 《LeetCode力扣练习》剑指 Offer 15. 二进制中1的个数 Java
<LeetCode力扣练习>剑指 Offer 15. 二进制中1的个数 Java 一.资源 题目: 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ...
- 【LeetCode】剑指 Offer 15. 二进制中1的个数
[LeetCode]剑指 Offer 15. 二进制中1的个数 文章目录 [LeetCode]剑指 Offer 15. 二进制中1的个数 一.逐位判断 二.巧用 n&(n−1) 一.逐位判断 ...
- 剑指 Offer 15. 二进制中1的个数 + 191. 位1的个数(n(n-1)实例)
一.题目:剑指 Offer 15. 二进制中1的个数 请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此, ...
最新文章
- OpenAI推新程序包:GPU适应十倍大模型仅需增加20%训练时间
- flex 客户端缓存SharedObject
- ionic4中的手势事件
- git-fork下来的项目(拷贝到本地 根据原来的库更新)
- 多线程编程:阻塞、并发队列的使用总结
- Redis操作List类型
- jQuery初识和常用事件(一)
- bzoj1179[Apio2009]Atm
- 计算机中专自考,中专怎么自考大专
- Java 为图形填充渐变色
- win7关闭开机启动项_电脑开机非常慢?原来是有软件偷偷自启动,教你一招彻底关闭它们...
- JavaSE基础——构造方法 对象的创建步骤 static关键字
- js如何监听元素事件是否被移除_javascript:什么是js事件?(上)
- LeetCode 206. 反转链表(c语言实现)
- 关于ps的图片的批处理
- 运动会分数统计的实验报告(数组实现)
- 经典神经网络分类器之BP算法和自组织竞争网络
- 解决MYSQL 8小时连接问题
- 【C语言】队列的实现
- 数学建模学习(67):XGBoost分类模型详细入门案例教程
热门文章
- oracle 返回表的函数,oracle 返回表函数
- linux环境部署python3+django
- 洛谷P3405 [USACO16DEC]Cities and States省市
- android设置访问internet权限
- 6.openldap客户端安装
- jquery深入学习
- 移动设备应用程序开发入门一:创建用于设备的 Windows 窗体应用程序并打包进行部署...
- 在类中调用delete this问题
- 华为宣布:免费培养8000名嵌入式开发者!学习免费!实践免费!辅导免费!
- 20210122发文补充截图