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

性能

相关推荐
kobesdu3 分钟前
FAST-LIO2 + 蓝海M300激光雷达:从建图到实时栅格图的完整流程
算法·机器人·ros·slam·fast lio
x_xbx3 分钟前
LeetCode:438. 找到字符串中所有字母异位词
算法·leetcode·职场和发展
MThinker3 分钟前
K230+canMV+micropython实现低成本MLX90640红外热成像测温模块(续)
算法·智能硬件·micropython·canmv·k230
小菜鸡桃蛋狗7 分钟前
C++——string(下)
算法
yuki_uix8 分钟前
面试题里的 Custom Hook 思维:从三道题总结「异步状态管理」通用模式
前端·react.js·面试
学习永无止境@10 分钟前
灰度图像中值滤波算法实现
图像处理·算法·计算机视觉
ysa05103015 分钟前
斐波那契上斐波那契【矩阵快速幂】
数据结构·c++·笔记·算法
@atweiwei16 分钟前
Go语言面试篇数据结构底层原理精讲(下)
数据结构·面试·golang
咚为16 分钟前
Rust 经典面试题255道
开发语言·面试·rust
CHANG_THE_WORLD29 分钟前
模拟解析:宽度数组 `[1,2,1]`,10个条目的 XRef 流
java·前端·算法