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;
    }
};
相关推荐
千金裘换酒5 分钟前
LeetCode 删除链表的倒数第N个结点
算法·leetcode
SweetCode17 分钟前
【无标题】
开发语言·c++·算法
shughui22 分钟前
Python基础面试题:语言定位+数据类型+核心操作+算法实战(含代码实例)
开发语言·python·算法
王老师青少年编程32 分钟前
信奥赛C++提高组csp-s之拓扑排序详解
c++·算法·拓扑排序·csp·信奥赛·csp-s·提高组
kaikaile199541 分钟前
matlab计算流场
人工智能·算法·matlab
老鼠只爱大米1 小时前
LeetCode算法题详解 42:接雨水
leetcode·动态规划·双指针·单调栈·接雨水·雨水收集
3GPP仿真实验室1 小时前
【Python源码】6G:PyTorch OFDM 教学仿真平台
算法
xie_pin_an1 小时前
C++ 从入门到进阶:核心知识与实战指南
java·c++·算法
我是个菜鸡.1 小时前
多模态算法面经准备
算法
AlenTech1 小时前
739. 每日温度 - 力扣(LeetCode)
算法·leetcode·职场和发展