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

性能:

相关推荐
波尔德几秒前
Origin 2024 绘制钟形正态分布曲线:填充颜色并导出透明 PNG
人工智能·算法
Omics Pro11 分钟前
微软:多模态生物世界模型
数据库·人工智能·算法·microsoft·机器学习·自然语言处理
hai31524754317 分钟前
语言学集合定律
人工智能·算法
小溪学编程21 分钟前
C语言篇:语言结构
c语言·开发语言·算法
Ivanqhz42 分钟前
KV Cache
服务器·数据库·人工智能·深度学习·算法
H.莓飛44 分钟前
【数据结构】二叉树
linux·数据结构·算法
圣保罗的大教堂1 小时前
leetcode 3532. 针对图的路径存在性查询 I 中等
leetcode
Omics Pro1 小时前
~30,000+引用!理论2005,R包2008,多组学集成AI增强
开发语言·数据库·人工智能·算法·机器学习·自然语言处理·r语言
梦帮科技1 小时前
【3.0修订版】创世与节点工程:genesis.json 与 node.toml 解剖
数据结构·算法·json·去中心化·区块链·智能合约·信任链
影视飓风TIM1 小时前
Linux 进程虚拟地址空间详解
linux·算法