剑指offer(二):统计二进制中的1的个数
程序员文章站
2024-03-17 13:34:10
...
题目描述
统计某个整数的二进制中的个数;
分析
先将某个整数转化为二进制,再统计二进制中的个数。
//将十进制数转化为二进制数组
function Binary(n) {
var arr = [];
while (n != 0) {
arr.unshift(n % 2);
n = Math.floor(n / 2);
}
return find(arr);
}
//找数组里面有多少个1
function find(arr) {
var num = 0;
while (arr.indexOf(1) != -1) {
num++;
arr = arr.slice(0, arr.indexOf(1)).concat(arr.slice(arr.indexOf(1) + 1));
}
return num;
}
console.log(Binary(8)) //返回1
下一篇: P1802 5倍经验日(01背包变形)