题目描述

题目分析

很自然地想到了二进制枚举,直接循环检查每一个二进制位。

class Solution {public:int hammingWeight(uint32_t n) {int ret = 0;uint32_t t = 1;for (int i = 0; i < 32; ++i, t <<= 1) {if (n & t) {++ret;}}return ret;}
};

AC之后看了一下题解,发现还有更妙的方法:使用一个trick:n&(n-1)的结果是把n的二进制位的最低位从1变为0。其实挺好理解的,因为n-1肯定会将最低位1变成0,并把之后所有位变为1,使用&操作以后就可以消除掉。

有了上面的技巧,我们只需要不断地将n变为n&(n-1)

class Solution {public:int hammingWeight(uint32_t n) {int ret = 0;while(n) {    //必须首先判断n是否为0++ret;n &= (n - 1);}return ret;}
};

每日一题:leetcode191.位1的个数相关推荐

  1. LeetCode简单题之位1的个数

    题目 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量). 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型.在 ...

  2. leetcode191. 位1的个数

    编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量). 示例 1: 输入:00000000000000000000000000001011 输出:3 ...

  3. Leetcode--191. 位1的个数

    编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量). 示例 1: 输入:00000000000000000000000000001011 输出:3 ...

  4. LeetCode每日一题:比特位计数(No.338)

    题目:比特位计数 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 复制代码 示例: 输入: 2 输出: [0,1, ...

  5. python读取7个数(1-50)的整数值_python每日一题总结7

    20180618 qzd 总结:全 每日一题23 读取7个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*. my code: for i in range(7): n=int(input ...

  6. 每日一题——质因数个数(蓝桥杯2022年第十三届省赛真题)

    如何将一个正整数分解质因数:每日一题--将一个正整数分解质因数_笨小古的博客-CSDN博客 题目描述:给定正整数 n,请问有多少个质数是 n 的约数. 输入格式:输入的第一行包含一个整数 n. 输出格 ...

  7. 王者服务器维护结束2020331,S19荣耀进阶战令的星元部件是哪一位英雄的 王者荣耀2020年3月31日每日一题答案 - 找游戏手游网...

    版本:v1.52.1.37 类型:MOBA跑酷大小:1.98 GB评分:9.2 标签: moba 腾讯游戏 塔防 竞技游戏 角色扮演 联机对战 立即下载 S19荣耀进阶战令的星元部件是哪一位英雄的?这 ...

  8. 每天Leetcode 刷题 初级算法篇-位1的个数

    题目要求: 力扣题解:循环和位移动 代码 /*** @program: mydemo* @description: 位1的个数* @author: Mr.zeng* @create: 2021-02- ...

  9. Codeforces Round #698 (Div. 2)(A ~ F)6题全,超高质量题解)【每日亿题】2021/2/4

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #698 (Div. 2)(A ~ F)6题全,超 ...

最新文章

  1. 小辣椒p60手机怎么样_手机推荐:小辣椒手机彻底爆发,6+128仅699,还要啥自行车?...
  2. eclipse导入Tomcat8源码
  3. 关于女人强势表现和强势心理
  4. swiper动态加载数据左右切换失效
  5. nmf算法 python_NMF算法简介及python实现
  6. Redis命令——键(key)
  7. HbuilderX启动 微信开发者工具
  8. AE脚本-关键帧复制粘贴对齐镜像拉伸调节控制工具 Keystone
  9. excel表自动向下填充
  10. iphone邮件服务器 263,IPHONE中设置使用企业邮箱(以263为例).doc
  11. 一个创业失败案例的复盘
  12. 论文导读:TOWARDS END-TO-END SPOKEN LANGUAGE UNDERSTANDING
  13. 面试施工员的时候你知道会问什么问题吗?
  14. [附源码]Nodejs计算机毕业设计我的大学电子相册Express(程序+LW)
  15. drag与drop事件
  16. 小冲哥c语言视频自学网,C语言二级教学视屏课件_51自学网_小冲哥.doc
  17. 计算机学院毕业设计文化衫,毕业文化衫设计大赛
  18. Perfect Tree(图论)
  19. AI时代,数据工程师必备知识总结
  20. python程序运行时间计时

热门文章

  1. Python的看门狗实现自动化实时对服务器、Windows或Linux文件夹的实时监控
  2. stixel world论文总结
  3. 【Spark】SparkStreaming-加载外部配置文件
  4. MSSQL-字符串分离与列记录合并成一行混合使用
  5. MySQL数据库安全配置
  6. c语言算ex自定义函数,用C语言写定积分的通用函数:sin(x),cos(x),eX.
  7. 字节流转化为文件流_C#文件转换为字节流及字节流转换为文件
  8. 新唐M031学习笔记(一)定时器基础计数应用
  9. 习题6-6 使用函数输出一个整数的逆序数 (20 分)
  10. 幂集 返回某集合的所有子集