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;
    }
};
相关推荐
营养充电站17 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
人工智能·算法·docker·jupyter
技术小黑17 小时前
RNN算法实战系列05 | 天气预测
人工智能·rnn·算法
Ivanqhz20 小时前
php8 use-def链
算法·php
evans在进步20 小时前
LeetCode 189 轮转数组:三次反转原地解决,图解 Java 实现
java·算法·leetcode
歌_顿20 小时前
Drawing_To_Model
算法
龍德明宇21 小时前
AI不会疼-龍德明宇
人工智能·算法·大语言模型llm·负主体性·ai存在论
302wanger21 小时前
程序员写 SOP:把脑子里的流程固化下来
算法
科学实验家1 天前
完全背包
算法
Smoothcloud润云1 天前
GPU租赁数据安全怎么做?
人工智能·算法·ai·aigc·gpu算力·gpu