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

性能

相关推荐
Qinana11 分钟前
从 URL 输入到页面展示:一场跨越进程与协议的“装修”大戏
前端·面试·程序员
我叫黑大帅28 分钟前
Go中的interface的两大用法
后端·面试·go
龙猫不热29 分钟前
从 0 手写 Promise:拆解 Promise 链式调用的实现原理
前端·javascript·面试
Lee川17 小时前
深度解构JavaScript:作用域链与闭包的内存全景图
javascript·面试
CoovallyAIHub19 小时前
语音AI Agent编排框架!Pipecat斩获10K+ Star,60+集成开箱即用,亚秒级对话延迟接近真人反应速度!
深度学习·算法·计算机视觉
UrbanJazzerati19 小时前
Python Scrapling反爬虫小技巧之Referer
后端·面试
一点一一19 小时前
从输入URL到页面加载:浏览器多进程/线程协同的完整逻辑
前端·面试
木心月转码ing21 小时前
Hot100-Day14-T33搜索旋转排序数组
算法
暮色妖娆丶1 天前
不过是吃了几年互联网红利罢了,我高估了自己
java·后端·面试
UrbanJazzerati1 天前
Python Scrapling:小白也能轻松掌握的现代网页抓取工具
后端·面试