leetcode: (191) Number of 1 Bits
来源:互联网 发布:淘宝图片设计软件 编辑:程序博客网 时间:2024/06/05 20:19
【Question】
Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).
For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011
, so the function should return 3.
方法一:可以通过逐位与1进行与,可以得到总的1个数;
class Solution {public: int hammingWeight(unsigned int n) { int i;int count=0;for(int i=0;i<32;i++){if ((n&1)==1) count++;n>>=1;}return count; }};
方法一需要比较32次不够优化
方法二:通过比较n&n-1,可以将非1的位省去,如n=10000000000000000000000000, 进行n&n-1只需要一次元算,而方法一要32次
class Solution {public:int hammingWeight(unsigned int n) { int count=0;while(n!=0){ n=n&(n-1); count++;}return count; }};
0 0
- leetcode:bits:Number of 1 Bits(191)
- [Leetcode 191, Easy] Number of 1 Bits
- leetCode #191 number of 1 bits
- LeetCode 191 Number of 1 Bits
- Leetcode NO.191 Number of 1 Bits
- [LeetCode][191][Number of 1 Bits]
- [leetcode 191]Number of 1 Bits
- LeetCode(191) Number of 1 Bits
- LeetCode #191 Number of 1 Bits
- LeetCode 191: Number of 1 Bits
- LeetCode 191 Number of 1 Bits
- Leetcode #191 Number of 1 Bits
- LeetCode 191 Number of 1 Bits
- LeetCode 191: Number of 1 Bits
- leetcode[191]:Number of 1 Bits
- leetcode-191-Number of 1 Bits
- leetcode 191:Number of 1 Bits
- leetcode: (191) Number of 1 Bits
- kvm虚拟机静态和动态迁移
- 解决MySQL不允许从远程访问的方法
- Android Fragment 详细翻译
- Android中RelativeLayout的属性详解
- 使用 GCD 自定义 UIImageView 增加异步下载图片的类别
- leetcode: (191) Number of 1 Bits
- 数组类型 多维参数
- hdu 1671
- Intent填坑
- A simple problem
- Android Studio调试功能使用总结【转】
- ListView的运行效率与点击事件
- java中日期工具类
- Visual C#2010学习笔记八之out和ref的使用