题解 | #求最大连续bit数#
求最大连续bit数
https://www.nowcoder.com/practice/4b1658fd8ffb4217bc3b7e85a38cfaf2
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function (line) {
let res = sol(+line);
console.log(res)
});
function sol(num: number):number{
let str:string = num.toString(2);
const reg = /(1+)/g;
let arr = str.match(reg);
let max = 0;
for(let el of arr){
max = Math.max(max, el.length);
}
return max;
}
正则匹配。
我的思路是将数字转换为二进制字符串,然后通过正则匹配出字符串中所有的连续1,然后循环结果数组,找出最长的。

