NOTE
二进制中1的个数
通过逐位移位统计 32 位二进制表示中 1 的个数。
这是历史学习笔记,可能存在过时或不完整的理解。
1. 题目描述
输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。
2. 思路
- 移位法
3. 实现
//时间:O(1)
//空间:O(1)
func NumberOf1(n int) int {
count := 0
bit := 1
for i := 0; i < 32; i++ {
if n&bit > 0 {
count++
}
bit = bit << 1
}
return count
}
讨论
使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看