* @author xnl
* @Description:
* @date: 2022/7/4 21:59
*/
public class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
}
/**
* 暴力匹配,超时不行
* @param left
* @param right
* @return
*/
public int rangeBitwiseAnd(int left, int right) {
int ans = left;
for (int i = left + 1; i <= right; i++){
ans &= i;
}
return ans;
}
/**
* 结果肯定小于right,肯定大于等于left
* @param left
* @param right
* @return
*/
public int rangeBitwiseAnd2(int left, int right) {
if (left == 0){
return 0;
}
while (left < right){
right &= (right - 1);
}
return right;
}
}
力扣:201. 数字范围按位与
最新推荐文章于 2025-12-01 18:34:51 发布
本文介绍了一种利用位运算解决特定区间内所有整数按位与运算的问题。提供了两种方法:一种是直观但效率较低的暴力匹配;另一种是高效的算法,通过减少右边界值的二进制表示中1的数量来逼近左边界值,最终返回结果。
502

被折叠的 条评论
为什么被折叠?



