剑指Offer - 面试题15. 二进制中1的个数(位运算)
发布日期:2021-07-01 03:20:10
浏览次数:3
分类:技术文章
本文共 732 字,大约阅读时间需要 2 分钟。
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; }};
转载地址:https://michael.blog.csdn.net/article/details/104289467 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月20日 06时38分38秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Scala学习第十六天 包的定义、包对象、包的引用、包的隐式引用代码实战
2019-05-03
Scala学习第十七天 包、类、对象、成员、伴生类、伴生对象访问权限实战彻底详解
2019-05-03
Scala学习第十八天 文件的读取、写入、控制台输入操作代码实战
2019-05-03
Scala学习第十九天 正则表达式、与模式匹配结合的的Reg代码实战
2019-05-03
剑指offer:栈的压入、弹出序列(java)
2019-05-03
剑指offer:往上到下打印二叉树(java)
2019-05-03
剑指offer:二叉搜索树的后序遍历序列(java)
2019-05-03
剑指offer:二叉树中和为某一值的所有路径(java)
2019-05-03
剑指offer:复杂链表的复制(java)
2019-05-03
剑指offer:二叉搜索树与双向链表(java)
2019-05-03
剑指offer:字符串的排列(java)
2019-05-03
剑指offer:字符串的组合(java)
2019-05-03
剑指offer:数组中出现次数超过一半的数字(java)
2019-05-03
实时开发框架Meteor API解读系列<二>Core
2019-05-03
实时开发框架Meteor API解读系列<六> DDP
2019-05-03
实时开发框架Meteor 实际应用系列<一>---文件的上传和下载[补充]
2019-05-03
实时开发框架Meteor API解读系列<七> Collection --01
2019-05-03
启用fcitx-qimpanel面板程序
2019-05-03
浅谈Q的基本实现
2019-05-03
iOS开发——cache自动清理方案探索
2019-05-03