二进制中1的个数
力扣 剑指 Offer 15. 二进制中1的个数
题目说明
请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。
提示:
- 输入必须是长度为
32的 二进制串 。
- 输入必须是长度为
示例
示例 1:
1 | 输入:00000000000000000000000000001011 |
示例 2:
1 | 输入:00000000000000000000000010000000 |
示例 3:
1 | 输入:11111111111111111111111111111101 |
笔者理解
此题是一道位运算算法问题,在力扣题库中被定义为简单题。
解法
当笔者阅读完此题后,发现此题是比较简单的位运算题目,让我们来看看具体如何实现的吧。
实现
1 | public class Solution { |
时间效率和空间效率都还行,可见此解法还比较适合此题;
总结
本题是今天的每日一题,难度是为简单,感兴趣的朋友都可以去尝试一下,此题还有其他更多的解法,朋友们可以自己逐一尝试。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 徐年の博客!








