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

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

提示: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;  // 左移
    }
}

性能

相关推荐
Java中文社群5 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
沐怡旸6 小时前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
NAGNIP6 小时前
大模型框架性能优化策略:延迟、吞吐量与成本权衡
算法
bobz9657 小时前
QoS 中的优先级相关的设计
面试
就是帅我不改7 小时前
揭秘Netty高性能HTTP客户端:NIO编程的艺术与实践
后端·面试·github
美团技术团队7 小时前
LongCat-Flash:如何使用 SGLang 部署美团 Agentic 模型
人工智能·算法
isysc18 小时前
面了一个校招生,竟然说我是老古董
java·后端·面试
uhakadotcom9 小时前
静态代码检测技术入门:Python 的 Tree-sitter 技术详解与示例教程
后端·面试·github
bobz96510 小时前
进程面向资源分配,线程面向 cpu 调度
面试
绝无仅有11 小时前
数据库MySQL 面试之死锁与排查经验总结
后端·面试·github