zoukankan      html  css  js  c++  java
  • [LeetCode]: 258: Add Digits

    题目:

    Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.

    For example:

    Given num = 38, the process is like: 3 + 8 = 111 + 1 = 2. Since 2 has only one digit, return it.

    Follow up:
    Could you do it without any loop/recursion in O(1) runtime?

    分析:

    需要时间复杂度是O(1),所以需要分析规律

    经过计算1~30,得出结论:结果在1~9之间,提交代码为:

        public static int addDigits(int num) {
            int intRsult  = num%9;
            if(intRsult == 0){
                intRsult =9;
            }
            return intRsult;
        }

    但是结果报错,发现遗忘了输入为0的情况,修改代码为:

    public:  
        int addDigits(int num) {  
            return 1 + (num-1)%9;  
        }  
    }; 
  • 相关阅读:
    CSS 基础(一)
    74.Search a 2D Matrix
    73.Set Matrix Zeroes
    66.Plus One
    64.Minimum Path Sum
    63.Unique Paths II
    62.Unique Paths
    54.Spiral Matrix
    59.Spiral Matrix II
    55.Jump Game
  • 原文地址:https://www.cnblogs.com/savageclc26/p/4779575.html
Copyright © 2011-2022 走看看