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;
    }
};
相关推荐
EllinY2 小时前
CF2217E Definitely Larger 题解
c++·笔记·算法·构造
玖釉-5 小时前
下一个排列:从字典序到原地算法的完整推导
数据结构·c++·windows·算法
IronMurphy5 小时前
【算法五十】62. 不同路径
算法
影寂ldy6 小时前
C#一维数组
算法
过期动态6 小时前
【LeetCode 热题 100】移动零
java·数据结构·算法·leetcode·职场和发展·rabbitmq
计算机安禾7 小时前
【算法分析与设计】第10篇:下界理论与NP完全性初步
大数据·人工智能·算法
水木流年追梦8 小时前
大模型入门-大模型分布式训练2
开发语言·分布式·python·算法·正则表达式·prompt
sali-tec8 小时前
C# 基于OpenCv的视觉工作流-章78-KRT测量
图像处理·人工智能·数码相机·opencv·算法·计算机视觉
菜菜的顾清寒8 小时前
力扣HOT100(32)二叉树的中序遍历
数据结构·算法·leetcode