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

性能

相关推荐
用户39585614211443 分钟前
从理论到实践:哪些EMBA项目真正提供“干货”课程?
面试
AI工程架构师1 小时前
通常说算力是多少 FLOPS,怎么理解,GPU和CPU为什么差异这么大
算法
Wect1 小时前
JSX & ReactElement 核心解析
前端·react.js·面试
祈安_1 小时前
Java实现循环队列、栈实现队列、队列实现栈
java·数据结构·算法
归去_来兮15 小时前
拉格朗日插值算法原理及简单示例
算法·数据分析·拉格朗日插值
Lee川17 小时前
JavaScript 面向对象编程全景指南:从原始字面量到原型链的终极进化
javascript·面试
千寻girling21 小时前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
SuperEugene21 小时前
Vue生态精选篇:Element Plus 的“企业后台常用组件”用法扫盲
前端·vue.js·面试
千寻girling21 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
Neptune121 小时前
JavaScript回归基本功之---类型判断--typeof篇
前端·javascript·面试