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
  • 相关阅读:
    css-css背景
    css-概述和选择器
    html-补充
    html-示例代码
    html-表格和列表
    html-表单
    html-常用标签
    html- 头部元素
    html-介绍
    SQLAlchemy-对象关系教程ORM-连接,子查询
  • 原文地址:https://www.cnblogs.com/seyjs/p/12287805.html
Copyright © 2011-2022 走看看