zoukankan      html  css  js  c++  java
  • 124-66. 加一问题

    给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。(老规矩第一个是我写的,后面的两个我从执行时间和消耗内存最少个抄了一个)
    
    class Solution(object):
        def plusOne1(self, digits):
            """
            :type digits: List[int]
            :rtype: List[int]
            """
            if digits[0] == 0:
                digits[-1] += 1
                return digits
    
            int_str = ""
            for item in digits:
                int_str += str(item)
            ret_str = str(int(int_str) + 1)
            return [int(item) for item in ret_str]
    
        def plusOne2(self, digits):
            """
            :type digits: List[int]
            :rtype: List[int]
            """
            newlst = []
            while digits and digits[-1] == 9:
                digits.pop()
                newlst.append(0)
            if not digits:
                return [1] + newlst
            else:
                digits[-1] += 1
                return digits + newlst
    
        def plusOne(self, digits):
            """
            :type digits: List[int]
            :rtype: List[int]
            """
            digits[-1] = digits[-1] + 1
            time_num = 0
            res_num = []
            for i in range(len(digits), 0, -1):
                num = (time_num + digits[i-1])   # 这里是关键
                if num > 9:
                    res_num.append(0)
                    time_num = 1
                else:
                    res_num.append(num)
                    time_num = 0
    
            if time_num:
                res_num.append(time_num)
    
            res_num.reverse()
            return res_num
    
    
    if __name__ == '__main__':
        s1 = Solution()
        digits = [4, 3, 2, 1]
        digits = [1, 9, 9, 9]
        print(s1.plusOne(digits))
    
  • 相关阅读:
    关于JS事件冒泡与JS事件代理(事件委托)
    异步、同步和阻塞、非阻塞
    大数据高并发
    前段clam安装
    JavaScript动态修改CSS
    键盘按键js效果
    键盘键值表总结
    移动端不可缩放
    JS基本语法
    计算几何——ICPC Latin American Regional Contests 2019 B
  • 原文地址:https://www.cnblogs.com/liuzhanghao/p/14228278.html
Copyright © 2011-2022 走看看