首页 > 其他分享 >面试题 05.03. 翻转数位

面试题 05.03. 翻转数位

时间:2023-04-27 20:34:38浏览次数:34  
标签:面试题 int 代码 05.03 num 这道题 数位

 分析:

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

这道题大概思路懂了,就是通过三个变量,遇到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

 

标签:面试题,int,代码,05.03,num,这道题,数位
From: https://www.cnblogs.com/ooooopppp/p/17360135.html

相关文章

  • java面试题--JMM
    一、说一下JAVA内存模型JMM分为哪几个区域?堆(GC堆):GC的主要区域。存放的是对象实例。 线程共享区域。方法区:也称为元数据区。存放是类的信息,包括类的类型,字段信息,方法信息等。线程共享区域。本地方法栈:存放native方法。线程私有区域。虚拟机栈:线程私有区域。程序计数器:线程......
  • 一次失败的面试经历:我只想找个工作,你却用面试题羞辱我
    金三银四就要来了,即将又是一波求职月,面对跳槽的高峰期,很多软件测试人员都希望能拿一个满意的高薪offer,但是随着招聘职位的不断增多,面试的难度也随之加大,而面试官更是会择优录取小王最近为面试已经焦头烂额了,他说看着招聘条件里写的岗位职责、任职要求,几乎就是为自己量身定制的,满......
  • #yyds干货盘点# LeetCode面试题:合并两个有序数组
    1.简述:给你两个按非递减顺序排列的整数数组 nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1......
  • 面试题 17.16. 按摩师
     分析:大概意思就是需要间隔一个才能再次预约,然后取最大时间代码:1classSolution(object):2defmassage(self,nums):3"""4:typenums:List[int]5:rtype:int6"""7n=len(nums)8f=[0fo......
  • mysql面试题
    DB哥MySQL高级教程-系统学习MySQL共149课时关注微信公众号免费学:DB哥文末有MySQL高级课程目录什么是MySQLMySQL是一个关系型数据库,它采用表的形式来存储数据。你可以理解成是Excel表格,既然是表的形式存储数据,就有表结构(行和列)。行代表每一行数据,列代表该行中的每个值。列上......
  • java面试题--多线程
    一、哲学家就餐问题?线程死锁问题。解决死锁问题的方法:增加锁的粒度。所有筷子放到一把大锁里。每次都锁定所有筷子。每次只能有一个哲学家抢到筷子,效率不高。有一个哲学家是左撇子。每次只能有一个哲学家抢到筷子,效率不高。每隔一个人就是一个左撇子。二、交替输出问题?解......
  • java面试题--核心知识
    一、HashMap和HashTable的区别?二、HashMap有哪些线程安全的方式?三、HashMap在扩容上有哪些优化? 难点三、为什么ConcurrentHashMap是线程安全的?四、java锁机制?无锁偏向锁轻量级锁重量级锁五、对AQS抽象队列同步器的理解?https://baijiahao.baidu.com/s?id=1709429801......
  • 面试题
    注:所有答案来源于网络,仅做整理!!flink的高可用flink是一种高性能、分布式处理大规模数据的流处理框架,其主要特点是具有高可用性和可扩展性。flink集群高可用性是指在出现故障的情况下,系统能够自动切换到备用节点,保证系统的稳定性和可靠性。flink集群高可用原理主要涉及以下几个方......
  • 我总结的一些 C++ 高频面试题(收藏)
    extern“C”extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。被extern"C"修饰的变量和函数是按照C语言方式编译和连接的。extern“C”这个声明的真实目的:解决名字匹配问题,实现C++与C的混合......
  • 数位拆分
    https://ac.nowcoder.com/acm/contest/11228/D观察这四种操作,a=0,b=1,b可以乘上x,且a可以加上b观(1234)x,x表示为x进制,则(1234)x=1*pow(x,3)+2*pow(x,2)+3*pow(x,1)+4*pow(x,0)此时已经发现了构造方法,即将n这个十进制的数转换为x进制,再根据上面列的进制拆分来还......