【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函数)。这个函数是对字符串进行前导零补足。

相关推荐
tyb33333312 小时前
leetcode:吃苹果和队列
算法·leetcode·职场和发展
多恩Stone12 小时前
【3D-AICG 系列-15】Trellis 2 的 O-voxel Shape: Flexible Dual Grid 代码与论文对应
人工智能·python·算法·3d·aigc
weixin_4481199412 小时前
Datawhale 大模型算法全栈基础篇 202602第4次笔记
笔记·算法
sali-tec12 小时前
C# 基于OpenCv的视觉工作流-章27-图像分割
图像处理·人工智能·opencv·算法·计算机视觉
踩坑记录13 小时前
leetcode hot100 74. 搜索二维矩阵 二分查找 medium
leetcode
TracyCoder12313 小时前
LeetCode Hot100(60/100)——55. 跳跃游戏
算法·leetcode
月挽清风13 小时前
代码随想录第35天:动态规划
算法·动态规划
岛雨QA13 小时前
链表「Java数据结构与算法学习笔记3」
数据结构·算法
Sunsets_Red13 小时前
P8277 [USACO22OPEN] Up Down Subsequence P 题解
c语言·c++·算法·c#·学习方法·洛谷·信息学竞赛
汉克老师13 小时前
GESP2023年12月认证C++二级( 第三部分编程题(2) 小杨的H字矩阵)
c++·算法·矩阵·循环结构·gesp二级·gesp2级