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;
    }
};
相关推荐
YGGP11 分钟前
【Golang】LeetCode 56. 合并区间
算法·leetcode·职场和发展
_F_y11 分钟前
回文串系列动态规划附马拉车算法原理及实现
算法·动态规划
你怎么知道我是队长19 分钟前
C语言---排序算法12---计数排序法
c语言·算法·排序算法
fu的博客24 分钟前
【数据结构2】带头结点·单向链表实现
数据结构·算法·链表
近津薪荼26 分钟前
优选算法——前缀和(6):和可被 K 整除的子数组
c++·算法
lifallen27 分钟前
线性基 (Linear Basis)
数据结构·算法
twilight_46930 分钟前
人工智能数学基础——第二章 高等数学基础
人工智能·算法·机器学习
_OP_CHEN32 分钟前
【算法提高篇】(二)线段树之区间修改:懒标记的核心奥义与实战实现
算法·蓝桥杯·线段树·c/c++·区间查询·acm/icpc·懒标记
啊阿狸不会拉杆33 分钟前
《机器学习导论》第 18 章-增强学习
人工智能·python·学习·算法·机器学习·智能体·增强学习
田里的水稻38 分钟前
FA_规划和控制(PC)-D*规划
人工智能·算法·数学建模·机器人·自动驾驶