本小白华中科技大学在读研究生,自然语言处理方向。现每日一更LeetCode Top 100 Liked Questions, 旨在于通过通俗易懂的画风和诸位计算机朋友们一起成长呀,不局限某题,争取举一反三,所有Questions均呈上C++和Java解法,不足之处多多指正,共同学习。
- 暴力循环法(核心在于 “取余 + 整除”来转换二进制)
class Solution {
public:
int countBit(int num){
int result = 0;
while(num != 0){
if(num % 2){
result++;
}
num /= 2;
}
return result;
}
vector<int> countBits(int num) {
//暴力求解,依次统计[0, num]二进制的1个数
vector<int> result;
for(int i = 0;i <= num;i++){
result.push_back(countBit(i));
}
return result;
}
};
2. 动态规划法
组 |