【LeetCode】201. 数字范围按位与

1. 题目

2. 分析

这题挺难想的,我到现在还没想明白,为啥只用左区间和右区间就能找到目标值了,而不用挨个做与操作?

3. 代码

python 复制代码
class Solution:
    def rangeBitwiseAnd(self, left: int, right: int) -> int:
        left_bin = bin(left).zfill(32)
        right_bin = bin(right).zfill(32)
        cnt = 0
        while(left_bin != right_bin):
            left = left >> 1
            right = right >> 1
            left_bin = bin(left).zfill(32)
            right_bin = bin(right).zfill(32)
            cnt += 1
        return left << cnt

其实代码可以不用上面这样复杂,官方题解很简洁。不过我这个代码提供了一个Python的新颖的API(zfill函数)。这个函数是对字符串进行前导零补足。

相关推荐
苏荷水29 分钟前
万字总结LeetCode100(持续更新...)
java·算法·leetcode·职场和发展
gihigo199841 分钟前
MATLAB运动估计基本算法详解
开发语言·算法·matlab
hetao173383741 分钟前
2026-02-09~02-12 hetao1733837 的刷题记录
c++·算法
ADDDDDD_Trouvaille42 分钟前
2026.2.12——OJ72-74题
c++·算法
励ℳ1 小时前
机器学习-LASSO算法指南
人工智能·算法·机器学习
Vic101011 小时前
算法D1-20260212:双指针专题
java·数据结构·算法
仟濹1 小时前
【算法打卡day7(2026-02-12 周四)算法:BFS and BFS】10__卡码网110_字符串迁移, 11_卡码网105_有向图的完全连通
算法·深度优先·dfs·bfs·宽度优先
935961 小时前
机考24 翻译18 单词11
c语言·数据结构·算法
爱思德学术2 小时前
中国计算机学会(CCF)推荐学术会议-B(计算机体系结构/并行与分布计算/存储系统):SPAA 2026
算法