【LeetCode笔记】剑指 Offer 15-. 二进制中1的个数 (Java、位运算)
文章目录
- 题目描述
- 思路 & 代码
- 二刷
题目描述
- 涉及二进制,位运算跑不了~
思路 & 代码
- 既然是32位,那么通过一次遍历,每次判断一个位是否为1即可
public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) {int ans = 0;// 遍历各个位,进行“截取”操作for(int i = 0; i < 32; i++){// “截取”到了,说明这里有1if(((1 << i) & n) != 0){ans++;}}return ans;}
}
二刷
- 耗时稍微快了一点呢!
public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) {int counts = 0;for(int i = 0; i < 32; i++, n >>= 1) {if((n & 1) == 1) {counts++;}}return counts;}
}
【LeetCode笔记】剑指 Offer 15-. 二进制中1的个数 (Java、位运算)相关推荐
- 《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.因此, ...
- 剑指 Offer 15. 二进制中1的个数
/*** 剑指 Offer 15. 二进制中1的个数** Java Integer.bitCount 方法 源码*/public class SolutionJZ15 {public int hamm ...
- 剑指 Offer 15. 二进制中1的个数 and leetcode 1905. 统计子岛屿
题目 请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 示例 1: 输 ...
- 剑指offer——15.二进制中1的个数
题目: 输入一个整数,输出该数二进制表示中1的个数 知识点: 所有进制数底层都是二进制表示,左位移1位比除二快的多 n = n & (n-1),可以依次从左到右一位一位将1转换成0 位指针左移 ...
- 剑指offer 15.二进制中1的个数
解法一: n & n - 1 可以让 n 最右边的 1 变为 0 ,其余位不变. class Solution { public:int hammingWeight(uint32_t n) { ...
- 【双百解法】剑指 Offer 15. 二进制中1的个数
立志用最少的代码做最高效的表达 请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数 ...
- LeetCode-剑指 Offer 15. 二进制中1的个数
剑指 Offer 15. 二进制中1的个数 思路一:n>>1一直右移动,如果为1则res++ class Solution {public:int hammingWeight(uint32 ...
- [剑指Offer]12.二进制中1的个数
题目 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 思路 把一个整数减去1,再和原整数做与运算,会把整数最右边一个1变成0.那么一个整数的二进制表示中有多少个1,就可以进行多次这样 ...
最新文章
- msvcr100.dll丢失原因及解决方法
- 二、【SAP-PM模块】PM模块(含服务采购)组织架构
- 消控中心人员配置_关于2018年度环创中心楼宇物业综合管理考评情况的通报
- 又一位大师辞世!今年已痛失15位两院院士
- 59s计时器C语言程序步骤详解,51单片机00-59秒计时器 0-59s Timer
- pv=clear后的修复
- win10专业版开机画面模糊_Win10系统登录背景变模糊的两种恢复方法
- vc对图像进行平移,转置等几何变换
- 第二阶段冲刺报告(三)
- leetcode 栈 二叉树的前向遍历
- 给定经纬度计算距离_根据两点经纬度计算距离
- 2022国内十大工业级三维视觉引导企业一览
- 草图大师:SketchUp 2019 for Mac
- Type-C扩展坞自适应供电专利维权案例
- 阿里云服务器发送邮件报错Couldn’t connect to host, port: smtp.qq.com, 25
- 【一起入门NLP】中科院自然语言处理第13课-NLP基础任务④:序列生成问题(Seq2Seq)
- 让Kodu动起来---Kodu少儿编程第五天
- 写论文有哪些神网站?
- Excel如何批量对一列添加单引号
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxxxx