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

性能

相关推荐
Wect几秒前
LeetCode 100. 相同的树:两种解法(递归+迭代)详解
前端·算法·typescript
不会敲代码1几秒前
面试必考:如何优雅地将列表转换为树形结构?
javascript·算法·面试
流云鹤1 分钟前
数学入门(快速幂&乘法逆元&GCD&质数&组合数)
算法
闻哥6 分钟前
Java虚拟机内存结构深度解析:从底层原理到实战调优
java·开发语言·jvm·python·面试·springboot
努力学算法的蒟蒻14 分钟前
day88(2.17)——leetcode面试经典150
算法·leetcode·面试
@––––––20 分钟前
力扣hot100—系列6-栈
linux·python·leetcode
Anastasiozzzz31 分钟前
LeetCode 287 寻找重复数字
算法·leetcode·职场和发展
im_AMBER32 分钟前
Leetcode 123 二叉树的层平均值 | 二叉树的右视图 | 二叉树的层序遍历
数据结构·学习·算法·leetcode·二叉树
We་ct32 分钟前
LeetCode 100. 相同的树:两种解法(递归+迭代)详解
前端·算法·leetcode·链表·typescript
样例过了就是过了39 分钟前
LeetCode热题100 轮转数组
数据结构·算法·leetcode