zoukankan      html  css  js  c++  java
  • leetcode 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

    解题思路:添加计数器,循环搞定。

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

    来源:力扣(LeetCode)

    链接:https://leetcode-cn.com/problems/number-of-steps-to-reduce-a-number-to-zero
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 相关阅读:
    CF980E The Number Games
    UVALive 2995 Image Is Everything
    CF1148F Foo Fighters
    CF22E Scheme
    CF1045G AI robots
    学习笔记 并查集维护区间删除
    HEOI 十二省联考退役记
    立方网面试题总结
    Django学习排错备注
    追求卓越之旅(转)
  • 原文地址:https://www.cnblogs.com/longlyseul/p/12482140.html
Copyright © 2011-2022 走看看