题目描述:
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。
示例 1:
输入:00000000000000000000000000001011
输出:3
解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。
示例 2:
输入:00000000000000000000000010000000
输出:1
解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为 '1'。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/number-of-1-bits
思路:将各个位与1相与,进行计数,然后移位,js移位就是个坑,疯狂超时,老老实实使用 /2 而不是 >>移位
/**
* @param {number} n - a positive integer
* @return {number}
*/
var hammingWeight = function(n) {
let res = 0;
while(n) {
if(n & 1) res++;
n /= 2;
}
return res;
};
本文介绍了一个JavaScript函数,用于计算无符号整数的二进制表示中1的个数,即汉明重量。通过位操作和循环,该算法有效地解决了LeetCode上的题目挑战。

641

被折叠的 条评论
为什么被折叠?



