题解 | 查找输入整数二进制中1的个数, 使用位运算并非toString(2)和正则

查找输入整数二进制中1的个数

https://www.nowcoder.com/practice/1b46eb4cf3fa49b9965ac3c2c1caf5ad

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    const lineArr = [];
    while ((line = await readline())) {
        lineArr.push(line);
    }

    function countOnes(num) {
        let count = 0;
        while (num) {
            num &= (num - 1);  // 清除最低位的1
            count++;
        }
        return count;
    }

    lineArr.forEach(item => {
        console.log(countOnes(item));
    })
})();

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务