1 Star 1 Fork 0

laodasbch/Leetcode-Complete-Guide

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
201.txt 726 Bytes
一键复制 编辑 原始数据 按行查看 历史
junbinLiang 提交于 5年前 . move
思路:
1. 直接n 肯定爆炸
2. 观察:所有 and 起来肯定最大是等于最小那个数字
3. 我们看看什么时候最小那个数字的bit 会被turn off 掉就行,并且check 一下看看在不在range 范围内
代码:
class Solution {
public int rangeBitwiseAnd(int m, int n) {
int res=0;
int min=m;
long pre=0;
for(int i=0;i<32;i++){
int bit=min&1;
min>>=1;
if(bit!=0){
long cur=(1<<i);
long target=(cur-pre)+m;
if(target>n){
res=res|(1<<i);
}
pre=pre|(1<<i);
}
}
return res;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/laodasbch/Leetcode-Complete-Guide.git
git@gitee.com:laodasbch/Leetcode-Complete-Guide.git
laodasbch
Leetcode-Complete-Guide
Leetcode-Complete-Guide
master

搜索帮助