题:给定num,如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。求将num变成0所需次数。
解:直接按题意,位运算可以提高计算效率
class Solution: def numberOfSteps(self, num: int) -> int: step = 0 while num: if num&1: #num为奇,等价于num%2 ==1 num -= 1 else: num = num>>1 #等价于 num // 2 step += 1 return step
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)