zoukankan      html  css  js  c++  java
  • 【leetcode】989. Add to Array-Form of Integer

    题目如下:

    For a non-negative integer X, the array-form of X is an array of its digits in left to right order.  For example, if X = 1231, then the array form is [1,2,3,1].

    Given the array-form A of a non-negative integer X, return the array-form of the integer X+K.

    Example 1:

    Input: A = [1,2,0,0], K = 34
    Output: [1,2,3,4]
    Explanation: 1200 + 34 = 1234
    

    Example 2:

    Input: A = [2,7,4], K = 181
    Output: [4,5,5]
    Explanation: 274 + 181 = 455
    

    Example 3:

    Input: A = [2,1,5], K = 806
    Output: [1,0,2,1]
    Explanation: 215 + 806 = 1021
    

    Example 4:

    Input: A = [9,9,9,9,9,9,9,9,9,9], K = 1
    Output: [1,0,0,0,0,0,0,0,0,0,0]
    Explanation: 9999999999 + 1 = 10000000000
    

    Note:

    1. 1 <= A.length <= 10000
    2. 0 <= A[i] <= 9
    3. 0 <= K <= 10000
    4. If A.length > 1, then A[0] != 0

    解题思路:题目很简单,但是在相加的过程中要注意进位。同时K > A的场景需要做特殊处理。

    代码如下:

    class Solution(object):
        def addToArrayForm(self, A, K):
            """
            :type A: List[int]
            :type K: int
            :rtype: List[int]
            """
            carrier = 0
            for i in range(len(A)-1,-1,-1):
                remainder = K % 10
                K = K/10
                A[i] += (remainder + carrier)
                if A[i] >= 10:
                    A[i] -= 10
                    carrier = 1
                else:
                    carrier = 0
            if carrier == 1 and K == 0:
                A.insert(0,1)
            elif K > 0:
                K += carrier
                while K > 0:
                    A.insert(0, K% 10)
                    carrier = 0
                    K = K/10
            return A
  • 相关阅读:
    Python中的字典
    Python中的元组
    Python中常见的公共方法
    Python中的列表
    Python的循环语句
    Python的流程控制
    Kubernetes-kubectl命令出现错误【The connection to the server localhost:8080 was refused
    nyoj 77-开灯问题 (倍数遍历)
    nyoj 76-超级台阶 (递推)
    nyoj 75-日期计算 (闰年与平年的判断)
  • 原文地址:https://www.cnblogs.com/seyjs/p/10364798.html
Copyright © 2011-2022 走看看