zoukankan      html  css  js  c++  java
  • 1342. 将数字变成 0 的操作次数

    给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。

    示例 1:

    输入:num = 14
    输出:6
    解释:
    步骤 1) 14 是偶数,除以 2 得到 7 。
    步骤 2) 7 是奇数,减 1 得到 6 。
    步骤 3) 6 是偶数,除以 2 得到 3 。
    步骤 4) 3 是奇数,减 1 得到 2 。
    步骤 5) 2 是偶数,除以 2 得到 1 。
    步骤 6) 1 是奇数,减 1 得到 0 。
    示例 2:

    输入:num = 8
    输出:4
    解释:
    步骤 1) 8 是偶数,除以 2 得到 4 。
    步骤 2) 4 是偶数,除以 2 得到 2 。
    步骤 3) 2 是偶数,除以 2 得到 1 。
    步骤 4) 1 是奇数,减 1 得到 0 。
    示例 3:

    输入:num = 123
    输出:12
     

    提示:

    0 <= num <= 10^6

    class Solution {
        public int numberOfSteps (int num) {
            int returnCount = 0;
            if(num == 0)
            {
                return returnCount;
            }
            while(num != 0)
            {
                if(num % 2 != 0)
                {
                    num -= 1;
                    returnCount++;
                }
                else
                {
                    num = num / 2;
                    returnCount++;
                }
            }
            return returnCount;
        }
    }
    

      

  • 相关阅读:
    2018/12/06 L1-031 到底是不是太胖了 Java
    2018/12/06 L1-030 一帮一 Java
    2018/12/06 L1-029 是不是太胖了 Java
    .NET Framework 类库命名空间
    .NET获取根目录
    ddd领域驱动设计
    垃圾回收
    rest api
    数据库ACID
    事务隔离级别
  • 原文地址:https://www.cnblogs.com/Duancf/p/12733874.html
Copyright © 2011-2022 走看看