1342.将数字变成0的 *** 作次数
题目描述思路
模拟
Python实现Java实现
1342.将数字变成0的 *** 作次数 题目描述
将数字变成0的 *** 作次数
思路 模拟
首先想到模拟,将num与1进行位运算来判断num的奇偶性。
记录 *** 作次数时:
如果num是奇数,需要加上一次减一的 *** 作;如果num是偶数,需要加上一次除以二的 *** 作;
使num的值变为num/2向下取整。重复以上 *** 作,直到num=0结束。
Python实现
class Solution: def numberOfSteps(self, num: int) -> int: ans = 0 while num: ans += num & 1 if num > 1: ans += 1 num >>= 1 return ansJava实现
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)