Leetcode 191 -- Number of 1 bits
来源:互联网 发布:叫停网络售药 编辑:程序博客网 时间:2024/06/14 10:39
Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as theHamming weight).
For example, the 32-bit integer ’11' has binary representation00000000000000000000000000001011
, so the function should return 3.
方法一:移位法
通过与运算符判断最低位/高位是否为1,然后在左移/右移。重复步骤直到原数归为零,无符号数目直接右移即可。
<span style="font-size:14px;">public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { int mask = 0B1; int count = 0; while(n != 0B0){ if((n & mask) == 0B1){ count++; } n = n>>>1; } return count; }}</span>
方法二:减一相与法,当原数不为0时,将原数与上原数减一再赋给原数。因为每一次减掉1再想与实际上是将左边的1给消去。所以消去几次就有几个1.
<span style="font-size:14px;">public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { int count = 0; while(n != 0b0){ n = n & (n-1); count++; } return count; }}</span>
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
- 友录总结
- 求一个动态数组的相邻两个数只差的总和
- c语言-排序-快速排序法
- 7.22 N HDU 1754 I Hate It
- js-引擎模板前台后台(java)实战
- Leetcode 191 -- Number of 1 bits
- JAVA进阶 面向对象程序设计——第6周 抽象与接口(表达接口,数据与表现分离)
- Java的native方法
- 温度传感器--DS18B20的使用
- 数据结构--线性表的顺序表示(1~5)
- Vundle for Windows
- 刷新主机dns
- centos szrz安装
- 自用零散博文-route_state.ts