zoukankan      html  css  js  c++  java
  • 66. 加一

    问题描述

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。

    最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。

    你可以假设除了整数 0 之外,这个整数不会以零开头。

    示例 1:

    输入: [1,2,3]
    输出: [1,2,4]
    解释: 输入数组表示数字 123。
    

    示例 2:

    输入: [4,3,2,1]
    输出: [4,3,2,2]
    解释: 输入数组表示数字 4321。
    

    解决方案

    • 逆序遍历整个数组
      • 如果当前值为9,加一后为0
      • 如果当前值不为9,加一,直接返回当前数组,结束
    • 如果整个数组完整遍历,说明第一位为9,且需要进一位。则向数组第一位加入一个1

    时间复杂度:O(n)

    show me the code

    class Solution:
        def plusOne(self, digits: List[int]) -> List[int]:
            l = len(digits)
            for i in reversed(range(-l,0)):
                if digits[i] == 9:
                    digits[i] = 0
                else:
                    digits[i] +=1
                    return digits
            else:
                digits.insert(0,1)
                return digits
    
  • 相关阅读:
    mstsc远程桌面 mstsc /v:ip /admin
    JS模块化编程(五)---按照AMD规范扩展全局对象
    常见问题
    django--用户认证组件
    Django
    Django
    Django
    Django
    Django
    第六模块-图书管理系统--多表
  • 原文地址:https://www.cnblogs.com/huang-yc/p/10742681.html
Copyright © 2011-2022 走看看