文章目录

  • 题目描述
  • 思路 & 代码
    • 二刷

题目描述

  • 涉及二进制,位运算跑不了~

思路 & 代码

  • 既然是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、位运算)相关推荐

  1. 《LeetCode力扣练习》剑指 Offer 15. 二进制中1的个数 Java

    <LeetCode力扣练习>剑指 Offer 15. 二进制中1的个数 Java 一.资源 题目: 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ...

  2. 【LeetCode】剑指 Offer 15. 二进制中1的个数

    [LeetCode]剑指 Offer 15. 二进制中1的个数 文章目录 [LeetCode]剑指 Offer 15. 二进制中1的个数 一.逐位判断 二.巧用 n&(n−1) 一.逐位判断 ...

  3. 剑指 Offer 15. 二进制中1的个数 + 191. 位1的个数(n(n-1)实例)

    一.题目:剑指 Offer 15. 二进制中1的个数 请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此, ...

  4. 剑指 Offer 15. 二进制中1的个数

    /*** 剑指 Offer 15. 二进制中1的个数** Java Integer.bitCount 方法 源码*/public class SolutionJZ15 {public int hamm ...

  5. 剑指 Offer 15. 二进制中1的个数 and leetcode 1905. 统计子岛屿

    题目 请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 示例 1: 输 ...

  6. 剑指offer——15.二进制中1的个数

    题目: 输入一个整数,输出该数二进制表示中1的个数 知识点: 所有进制数底层都是二进制表示,左位移1位比除二快的多 n = n & (n-1),可以依次从左到右一位一位将1转换成0 位指针左移 ...

  7. 剑指offer 15.二进制中1的个数

    解法一: n & n - 1 可以让 n 最右边的 1 变为 0 ,其余位不变. class Solution { public:int hammingWeight(uint32_t n) { ...

  8. 【双百解法】剑指 Offer 15. 二进制中1的个数

    立志用最少的代码做最高效的表达 请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数 ...

  9. LeetCode-剑指 Offer 15. 二进制中1的个数

    剑指 Offer 15. 二进制中1的个数 思路一:n>>1一直右移动,如果为1则res++ class Solution {public:int hammingWeight(uint32 ...

  10. [剑指Offer]12.二进制中1的个数

    题目 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 思路 把一个整数减去1,再和原整数做与运算,会把整数最右边一个1变成0.那么一个整数的二进制表示中有多少个1,就可以进行多次这样 ...

最新文章

  1. msvcr100.dll丢失原因及解决方法
  2. 二、【SAP-PM模块】PM模块(含服务采购)组织架构
  3. 消控中心人员配置_关于2018年度环创中心楼宇物业综合管理考评情况的通报
  4. 又一位大师辞世!今年已痛失15位两院院士
  5. 59s计时器C语言程序步骤详解,51单片机00-59秒计时器 0-59s Timer
  6. pv=clear后的修复
  7. win10专业版开机画面模糊_Win10系统登录背景变模糊的两种恢复方法
  8. vc对图像进行平移,转置等几何变换
  9. 第二阶段冲刺报告(三)
  10. leetcode 栈 二叉树的前向遍历
  11. 给定经纬度计算距离_根据两点经纬度计算距离
  12. 2022国内十大工业级三维视觉引导企业一览
  13. 草图大师:SketchUp 2019 for Mac
  14. Type-C扩展坞自适应供电专利维权案例
  15. 阿里云服务器发送邮件报错Couldn’t connect to host, port: smtp.qq.com, 25
  16. 【一起入门NLP】中科院自然语言处理第13课-NLP基础任务④:序列生成问题(Seq2Seq)
  17. 让Kodu动起来---Kodu少儿编程第五天
  18. 写论文有哪些神网站?
  19. Excel如何批量对一列添加单引号
  20. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxxxx

热门文章

  1. vue data数据修改_VUE的数据响应式
  2. 深度学习需要注意的11个方面
  3. C语言中的自定义类型
  4. 齐次坐标,怎么你也叫Homogeneous
  5. VS2019 更新MSDN并创建快捷方式
  6. Guava入门~CharMatcher
  7. 带暂停功能的音频播放代码参考
  8. linux qt程序编译出错,QTcreator编译出错
  9. java8新特性(6)— 日期与时间
  10. 回头看看NSURLConnection