zoukankan      html  css  js  c++  java
  • 【leetcode】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(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
  • 相关阅读:
    JSTL之迭代标签库
    java中的IO流
    浅谈代理模式
    TreeSet集合
    网络编程之UDP协议
    Java中的多线程
    Java中的面向对象
    JavaScript 函数表达式
    JavaScript 数据属性和访问器属性
    JavaScript 正则表达式语法
  • 原文地址:https://www.cnblogs.com/seyjs/p/12287805.html
Copyright © 2011-2022 走看看