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

性能

相关推荐
西安邮电大学2 分钟前
分布式锁三种实现
java·redis·后端·其他·面试
stolentime5 分钟前
CF2066D2 Club of Young Aircraft Builders (hard version)题解
c++·算法·动态规划·组合数学
一个不知名程序员www11 分钟前
算法学习入门---算法题DAY3
c++·算法
七夜zippoe12 分钟前
DolphinDB向量化计算:高性能数据处理
算法·dolphindb
程序员二叉14 分钟前
【Redis】 高性能核心:IO多路复用+多线程+Pipeline+Lua脚本(面试终极版)
redis·面试·lua
悠仁さん21 分钟前
哈夫曼树的简单介绍
算法
bIo7lyA8v23 分钟前
算法与数据结构协同优化的设计思想的技术8
数据结构·算法
程序员二叉24 分钟前
【计算机网络】面试全解|OSI/TCPIP、HTTP全版本、HTTPS、DNS一站式梳理
计算机网络·http·面试
Lsk_Smion25 分钟前
力扣实训 _ [98].验证二叉搜索树 _ 将二叉树展开成链表
数据结构·算法·leetcode
布朗克16826 分钟前
18 面向对象综合实战——设计一个图书管理系统
java·面试·职场和发展·面向对象实战