zoukankan      html  css  js  c++  java
  • 1342. Number of Steps to Reduce a Number to Zero (E)

    Number of Steps to Reduce a Number to Zero (E)

    题目

    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

    题意

    将一个数进行若干次偶数/2、奇数-1的操作,直至其变为0,求需要的操作次数。

    思路

    直接照做即可。


    代码实现

    Java

    class Solution {
        public int numberOfSteps (int num) {
            int steps = 0;
            while (num > 0) {
                num = num % 2 == 0 ? num / 2 : num - 1;
                steps++;
            }
            return steps;
        }
    }
    
  • 相关阅读:
    Computer Vision: Algorithms and ApplicationsのImage processing
    LOJ6079「2017 山东一轮集训 Day7」养猫
    网络七层协议及其作用
    观察者模式深度剖析
    NIO 中的读和写
    NIO的通道和缓冲区
    NIO简介
    使用OutputStream向屏幕上输出内容
    对象的序列化
    PushBackInputStream回退流
  • 原文地址:https://www.cnblogs.com/mapoos/p/14398906.html
Copyright © 2011-2022 走看看