leetcode1342. Number of Steps to Reduce a Number to Zero
Posted seyjs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode1342. Number of Steps to Reduce a Number to Zero相关的知识,希望对你有一定的参考价值。
题目如下:
Given a non-negative integer
num
, return the number of steps to reduce it to zero. If the current number is even, you have to divide it by 2, otherwise, you have to subtract 1 from it.Example 1:
Input: num = 14 Output: 6 Explanation: Step 1) 14 is even; divide by 2 and obtain 7. Step 2) 7 is odd; subtract 1 and obtain 6. Step 3) 6 is even; divide by 2 and obtain 3. Step 4) 3 is odd; subtract 1 and obtain 2. Step 5) 2 is even; divide by 2 and obtain 1. Step 6) 1 is odd; subtract 1 and obtain 0.Example 2:
Input: num = 8 Output: 4 Explanation: Step 1) 8 is even; divide by 2 and obtain 4. Step 2) 4 is even; divide by 2 and obtain 2. Step 3) 2 is even; divide by 2 and obtain 1. Step 4) 1 is odd; subtract 1 and obtain 0.Example 3:
Input: num = 123 Output: 12Constraints:
0 <= num <= 10^6
解题思路:送分题。
代码如下:
class Solution(object): def numberOfSteps (self, num): """ :type num: int :rtype: int """ res = 0 while num > 0: res += 1 if num % 2 == 0: num = num / 2 else: num = num - 1 return res
以上是关于leetcode1342. Number of Steps to Reduce a Number to Zero的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode --- 1342. Number of Steps to Reduce a Number to Zero 解题报告
算法leetcode每日一练1342. 将数字变成 0 的操作次数
算法leetcode每日一练1342. 将数字变成 0 的操作次数
1342. Number of Steps to Reduce a Number to Zero