阅读
别人家的面试题:一个整数是否是“4”的N次幂
互联网公司员工睡觉那些事
JavaScript函数式编程探索与思考
顶尖程序员不同于常人的5个区别
Material Design技术分享
前端测试工具集锦
怎样书写可维护JavaScript
https://www.sitepoint.com/write-maintainable-javascript/
聚沙
二进制 1 的个数
https://www.h5jun.com/post/counting-bits.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| var countBit = function(num) {
var count = 0;
while (num > 0) {
if (num & 1 !== 0) {
count += 1;
}
// 可以是这样
// count += num & 1;
num >>= 1;
}
return count;
};
|
更好的做法:
1
2
3
4
5
6
7
8
| function countBit(n){
var ret = 0;
while(n > 0){
ret++;
n &= n - 1;
}
return ret;
}
|
乱弹
- 在大学里很多事情都荒废了,这种算法本来就是小儿科,如今我却要 javascript 来写,位运算在 c 这类语言代表效率,在 js 中却未必
MORE