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的个数(位运算)相关推荐

  1. 剑指offer面试题15. 二进制中1的个数(位运算)

    题目描述 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 思路 详见链接 代码 cla ...

  2. 剑指offer面试题[10]-二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 分析: 这是一道很基本的考察二进制和位运算的面试题.思路:先判断证书二进制表示中最右边的一位是不是1.接着再把输入的数字右移 ...

  3. 剑指offer:面试题15. 二进制中1的个数

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

  4. 【剑指offer-Java版】10二进制中1的个数

    二进制中1的个数: 思路一:循环右移给定的数,但是存在负数出现死循环的问题 思路二:声明一个变量flag并初始化为1,然后循环右移flag,循环次数是和给定数的精度也就是位数有关 思路三:用了二进制一 ...

  5. [剑指offer][JAVA]面试题第[15]题[二进制中1的个数][位运算]

    [问题描述][简单] 请实现一个函数,输入一个整数(无符号数),输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2.示例 ...

  6. 面试题15. 二进制中1的个数

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

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

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

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

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

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

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

最新文章

  1. OpenAI推新程序包:GPU适应十倍大模型仅需增加20%训练时间
  2. flex 客户端缓存SharedObject
  3. ionic4中的手势事件
  4. git-fork下来的项目(拷贝到本地 根据原来的库更新)
  5. 多线程编程:阻塞、并发队列的使用总结
  6. Redis操作List类型
  7. jQuery初识和常用事件(一)
  8. bzoj1179[Apio2009]Atm
  9. 计算机中专自考,中专怎么自考大专
  10. Java 为图形填充渐变色
  11. win7关闭开机启动项_电脑开机非常慢?原来是有软件偷偷自启动,教你一招彻底关闭它们...
  12. JavaSE基础——构造方法 对象的创建步骤 static关键字
  13. js如何监听元素事件是否被移除_javascript:什么是js事件?(上)
  14. LeetCode 206. 反转链表(c语言实现)
  15. 关于ps的图片的批处理
  16. 运动会分数统计的实验报告(数组实现)
  17. 经典神经网络分类器之BP算法和自组织竞争网络
  18. 解决MYSQL 8小时连接问题
  19. 【C语言】队列的实现
  20. 数学建模学习(67):XGBoost分类模型详细入门案例教程

热门文章

  1. oracle 返回表的函数,oracle 返回表函数
  2. linux环境部署python3+django
  3. 洛谷P3405 [USACO16DEC]Cities and States省市
  4. android设置访问internet权限
  5. 6.openldap客户端安装
  6. jquery深入学习
  7. 移动设备应用程序开发入门一:创建用于设备的 Windows 窗体应用程序并打包进行部署...
  8. 在类中调用delete this问题
  9. 华为宣布:免费培养8000名嵌入式开发者!学习免费!实践免费!辅导免费!
  10. 20210122发文补充截图