1342. Number of Steps to Reduce a Number to Zero

Posted wentiliangkaihua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1342. 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: 12

 

Constraints:

  • 0 <= num <= 10^6
class Solution {
    public int numberOfSteps (int num) {
        int k = num;
        int res = 0;
        while(k != 0){
            if(k % 2 != 0){
                res++;
                k--;
            }
            else {
                res++;
                k /= 2;
            }
        }
        return res;
    }
}

 

以上是关于1342. Number of Steps to Reduce a Number to Zero的主要内容,如果未能解决你的问题,请参考以下文章

leetcode1342. Number of Steps to Reduce a Number to Zero

LeetCode --- 1342. Number of Steps to Reduce a Number to Zero 解题报告

leetcode1347. Minimum Number of Steps to Make Two Strings Anagram

LeetCode 1269. Number of Ways to Stay in the Same Place After Some Steps

LeetCode 1347. Minimum Number of Steps to Make Two Strings Anagram

leetcode1269. Number of Ways to Stay in the Same Place After Some Steps