leetcode 201. 数字范围按位与

题目链接:leetcode 201

1.题目

给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left 、right 端点)。

2.示例

1)示例 1:

输入:left = 5, right = 7

输出:4

2)示例 2:

输入:left = 0, right = 0

输出:0

3)示例 3:

输入:left = 1, right = 2147483647

输出:0

4)提示:

0 <= left <= right <= 2^31 - 1

3.分析

问题可以转化为找left和right的公共前缀

4.代码

cpp 复制代码
class Solution {
public:
    int rangeBitwiseAnd(int left, int right) {
        int res=1<<30,ans=0;
        for(int i=30;i>=0;i--){
            if((left&res)!=(right&res)) break;
            ans|=(left&res);res>>=1;
        }return ans;
    }
};
相关推荐
Tisfy7 小时前
LeetCode 3637.三段式数组 I:一次遍历(三种实现)
算法·leetcode·题解·模拟·数组·遍历·moines
遨游xyz7 小时前
数据结构-哈希表
算法·哈希算法
dyyx1117 小时前
C++中的过滤器模式
开发语言·c++·算法
lrh1228008 小时前
详解决策树算法:分类任务核心原理、形成流程与剪枝优化
算法·决策树·机器学习
期末考复习中,蓝桥杯都没时间学了8 小时前
力扣刷题15
算法·leetcode·职场和发展
2301_817497338 小时前
C++中的装饰器模式高级应用
开发语言·c++·算法
m0_549416668 小时前
C++编译期字符串处理
开发语言·c++·算法
m0_581124198 小时前
C++中的适配器模式实战
开发语言·c++·算法
A尘埃8 小时前
零售连锁店生鲜品类销量预测——线性回归(Linear Regression)
算法·线性回归·零售
u0109272718 小时前
C++与人工智能框架
开发语言·c++·算法