Open Tcdian opened 3 years ago
/**
* @param {number} m
* @param {number} n
* @return {number}
*/
var rangeBitwiseAnd = function(m, n) {
let result = 0;
while (m * 2 > n) {
let i = 1;
while (i <= m) {
i *= 2;
}
if (i <= n) {
break;
}
m %= i / 2;
n %= i / 2;
result += i / 2;
}
return result;
};
function rangeBitwiseAnd(m: number, n: number): number {
let result = 0;
while (m * 2 > n) {
let i = 1;
while (i <= m) {
i *= 2;
}
if (i <= n) {
break;
}
m %= i / 2;
n %= i / 2;
result += i / 2;
}
return result;
};
201. Bitwise AND of Numbers Range
给定范围
[m, n]
,其中0 <= m <= n <= 2147483647
,返回此范围内所有数字的按位与(包含m
,n
两端点)。Example 1
Example 2