LeetCode 面试经典150题 201.数字范围按位与

题目 :给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left 、right 端点)。

提示:0 <= left <= right <= 2^31 - 1

思路:

位与的特性 :只要参与位与的元素有一个为 0,那么位与结果就为 0。换句话说,如果参与位与的元素都相同,位与结果就是这个相同元素。

代码:

java 复制代码
class Solution {
    public int rangeBitwiseAnd(int left, int right) {
        int count = 0;  // 记录右移次数
        while (left != right) {
            count++;
            left >>= 1;
            right >>= 1;
        }
        return left <<= count;  // 左移
    }
}

性能:

相关推荐
Nebula_g几秒前
JavaSE高级:动态代理
java·开发语言·算法·javase
垆边人似月.10 分钟前
华为题:盛最多水的容器
数据结构·算法
怦然丶心动16 分钟前
用 Java 把干支历法算清楚:从节气切年到可读摘要
java·算法·vue·独立开发·spring boot / spring
Zachery Pole27 分钟前
具身智能强化学习(1)引言
算法·机器学习
xuxigifxfh28 分钟前
面试记录2026
java·mysql·面试·职场和发展
All for pursuit.29 分钟前
【动态规划-11】279.完全平方数
数据结构·c++·算法·leetcode·动态规划
丑陋小蚊子35 分钟前
校招没有实习,社团活动和课程项目先写哪个?
面试·求职招聘·大学生·简历·简历下载
淡海水36 分钟前
02-06-原理篇-增量式GC与并发GC
算法·unity·c#·并发·gc·增量
对空六课39 分钟前
无头浏览器访问对跳出率的过滤规则
服务器·前端·算法·数据分析
有同事要进步39 分钟前
leecode第一题-两数字之和(打卡)
算法