修改 problem 191

This commit is contained in:
YDZ
2019-07-10 02:58:33 +08:00
parent e56d2aaa7a
commit 871aa2a483
2 changed files with 9 additions and 1 deletions

View File

@@ -1,6 +1,14 @@
package leetcode
import "math/bits"
// 解法一
func hammingWeight(num uint32) int {
return bits.OnesCount(uint(num))
}
// 解法二
func hammingWeight1(num uint32) int {
count := 0
for num != 0 {
num = num & (num - 1)

View File

@@ -36,4 +36,4 @@ Write a function that takes an unsigned integer and return the number of '1' b
- 求 uint32 数的二进制位中 1 的个数。
- 这一题的解题思路就是利用二进制位操作。`X = X & ( X -1 )` 这个操作可以清除最低位的二进制位 1利用这个操作直至把数清零。操作了几次即为有几个二进制位 1 。
- 最简单的方法即是直接调用库函数 `bits.OnesCount(uint(num))`