- 首页 > it技术 > >
javascript|位1的个数 - LeetCode
javascript算法前端leetcode
题目:编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 :输入: 11
输出: 3
解释: 整数 11 的二进制表示为 00000000000000000000000000001011示例 2:输入: 128
输出: 1
解释: 整数 128 的二进制表示为 00000000000000000000000010000000
答案:
/**
* @param {number} n - a positive integer
* @return {number}
* 11
* 210
* 311
* 4100
* 5101
* 6110
* 7111
* 81000
*/
var hammingWeight = function (n) {
if (n == 0) return 0;
let result = 1;
while (n > 2) {
result += n % 2;
n = Math.floor(n / 2);
}
return result;
};
推荐阅读