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;
    }
};
相关推荐
2301_815482938 分钟前
C++与WebAssembly集成
开发语言·c++·算法
像污秽一样22 分钟前
算法设计与分析-习题4.3
数据结构·算法·排序算法
ComputerInBook24 分钟前
几何学基本概念——超平面(hyperplane)
算法·机器学习·平面·几何学
沈阳信息学奥赛培训25 分钟前
C++ 指针* 和 指针的引用 *& (不是指针和引用,是指针的引用)
数据结构·c++·算法
老鱼说AI30 分钟前
《深入理解计算机系统》(CSAPP)2.2:整数数据类型与底层机器级表示
开发语言·汇编·算法·c#
会编程的土豆42 分钟前
【数据结构与算法】 树
数据结构·算法
LSL666_1 小时前
Redis值数据类型——hash
redis·算法·哈希算法·数据类型
喵喵蒻葉睦1 小时前
力扣 hot100 滑动窗口最大值 单调双端队列 java 简单题解
java·数据结构·算法·leetcode·双端队列·滑动窗口·队列
样例过了就是过了1 小时前
LeetCode热题100 搜索二维矩阵
数据结构·c++·算法·leetcode·矩阵
2401_831920741 小时前
C++与Qt图形开发
开发语言·c++·算法