news 2026/10/1 17:14:59

DeepSeek LeetCode 201. 数字范围按位与 Java实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek LeetCode 201. 数字范围按位与 Java实现

LeetCode 201. 数字范围按位与

题目描述

给你两个整数 left 和 right,表示区间 [left, right],返回此区间内所有数字按位与的结果(包含 left、right 端点)。

核心思路

范围内数字连续,按位与的结果就是 left 和 right 的二进制公共前缀,后面全部补 0。

例如:left = 5 (101), right = 7 (111)

5: 101 6: 110 7: 111 &: 100 → 4

公共前缀是 1,后面补两个 0,得到 100。


解法一:位移法(推荐)

不断将 left 和 right 右移,直到两者相等,记录移动次数,再左移回来。

classSolution{publicintrangeBitwiseAnd(intleft,intright){intshift=0;// 找到公共前缀while(left<right){left>>=1;right>>=1;shift++;}// 公共前缀左移补 0returnleft<<shift;}}

复杂度

· 时间:O(log n),最多循环 32 次
· 空间:O(1)


解法二:Brian Kernighan 算法

利用 right & (right - 1) 清除 right 最低位的 1,直到 right <= left。

classSolution{publicintrangeBitwiseAnd(intleft,intright){while(left<right){// 清除 right 最低位的 1right=right&(right-1);}returnright;}}

复杂度

· 时间:O(log n),最多清除 32 次
· 空间:O(1)


示例验证

输入:left=5,right=7输出:4输入:left=0,right=0输出:0输入:left=1,right=2147483647输出:0

易错点

  1. left == right 时直接返回 left,循环条件 left < right 天然处理。
  2. 使用 int 即可,因为题目范围在 [0, 2^31 - 1]。
  3. 位移法注意先右移再左移,shift 记录移动位数。

面试建议

· 首选位移法,逻辑直观,容易解释公共前缀思想。
· 若面试官追问优化,可提 Brian Kernighan,它直接跳过末尾的 1,效率略高。
· 可画二进制图辅助说明:连续数字的按位与,高位不变,低位必然出现 0。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 17:14:49

问数系统怎么验收?从评测集到线上指标的完整度量体系

本文是「企业问数系统落地」系列第十篇。前九篇讲的是怎么把系统做对&#xff08;架构、接入、建模、生成、多轮&#xff09;&#xff0c;这一篇讲一个更容易被跳过、但决定项目成败的问题&#xff1a;怎么证明它做对了。一、先说一个残酷的事实&#xff1a;"准确率 90%&q…

作者头像 李华
网站建设 2026/10/1 17:14:34

Seata分布式事务实战:核心原理、安装部署与排障指南

做后端开发久了&#xff0c;迟早会撞上分布式事务这堵墙。本地事务靠数据库的ACID就能搞定&#xff0c;一旦拆成微服务&#xff0c;跨库、跨服务的原子性就成了绕不开的难题。Seata 就是目前 Java 生态里最主流的分布式事务解决方案之一&#xff0c;由阿里巴巴开源&#xff0c;…

作者头像 李华
网站建设 2026/10/1 17:13:42

DA200伺服配博途必须用报文111的原理与实操

1. 项目概述&#xff1a;为什么DA200配博途要用111报文&#xff1f;这不是“选配”&#xff0c;而是工业现场的硬性握手协议 英威腾DA200系列伺服驱动器在国产中高端自动化产线里跑得越来越稳&#xff0c;我去年在东莞一家做精密模切设备的厂子里调试整条线&#xff0c;光是DA2…

作者头像 李华
网站建设 2026/10/1 17:13:04

计算机专业英语主要考查对专业术语、技术文档和英文摘要的理解能力

计算机专业考试通常覆盖知识面广、综合性强&#xff0c;核心考点既包括计算机组成与体系结构、数据结构与算法、操作系统、数据库系统、计算机网络等基础理论&#xff0c;也包括软件工程、面向对象技术与UML、信息安全、知识产权与标准化以及计算机专业英语等应用性内容。复习时…

作者头像 李华
网站建设 2026/10/1 17:12:54

固定翼航模入门全攻略:从模拟器到真机起降

固定翼这三个字&#xff0c;在航模圈里天然带着一种说不上来的吸引力。每次去飞场&#xff0c;看到有人拎着大翼展的泡沫机往天上一扔&#xff0c;然后稳稳当当绕一个漂亮的航线回来&#xff0c;旁边围观的十有八九会蹦出那句经典台词&#xff1a;“我也想学。”但真到下单的时…

作者头像 李华
网站建设 2026/10/1 17:12:48

磁盘分盘、挂载---操作流程实验

一、操作流程1. 识别新盘&#xff1a; echo "- - -" > /sys/class/scsi_host/hostX/scan2. 分区&#xff1a; fdisk /dev/sdX 或 gdisk /dev/sdX &#xff08;GPT3. 格式化&#xff1a; mkfs.xfs /dev/sdX1 &#xff08;或 EXT4/其他&#xff09;4. 创建挂载点&am…

作者头像 李华