面试题 05.03. 翻转数位

 分析:

这道题看的解析过的,但是还是有点不懂

这道题大概思路懂了,就是通过三个变量,遇到1或者0刷新值,然后每次取三个变量最大值

但是看解析代码有一行没看懂

那个&,好像是位运算的符号,还有那个代码里面的1>>i没看懂

代码:

复制代码
 1 class Solution(object):
 2     def reverseBits(self, num):
 3         """
 4         :type num: int
 5         :rtype: int
 6         """
 7         cur = 0
 8         insert = 0
 9         res = 1
10         for i in range(32):
11             if num & (1<<i):
12                cur += 1
13                insert +=1
14             else:
15                 insert = cur + 1
16                 cur = 0
17             res = max(res,insert)
18         return res
复制代码

 

posted @   猥琐丑八怪  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示