zoukankan      html  css  js  c++  java
  • 加一

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

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

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

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

    代码v1.0

    从数字进制的角度来分析,首位进位的唯一情况就是后位全是9,只要后面位有一位加1不进位,就不会轮到首位,循环就可以跳出。

    注意 list 加元素的区别,分别是 insert append extend +

    http://smilejay.com/2013/02/add-items-to-a-list-in-python/

    class Solution(object):
        def plusOne(self, digits):
            """
            :type digits: List[int]
            :rtype: List[int]
            """
            i=len(digits)-1
            while i>=0 :
                if digits[i]+1<10:
                    digits[i]+=1
                    return digits
                else:
                    digits[i]=0
                    if(i==0):
                        digits.insert(0,1)
                        return digits
                    i-=1

    代码 v2.0

    在python中,字符即list,可以把list转换成数字,然后再把数字转换成字符,最后再转回list

    range(start, [stop], step])

    参数说明:

    • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
    • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
    • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
    class Solution:
        def plusOne(self, digits):
            """
            :type digits: List[int]
            :rtype: List[int]
            """
            #数组转换成数字
            intNum=0
            for i in range(len(digits)):
                intNum=intNum*10+digits[i]
            intNum+=1
            #数字转换成字符
            strNum=str(intNum)
            #字符转换成数组
            res=[]
            for i in range(len(strNum)):
                res.append(int(strNum[i]))
            return res
  • 相关阅读:
    Hibernate之二级缓存
    Hibernate之HQL
    Hibernate 一对多自关联 多对多
    hibernate关联关系(一对多)
    Hibernate之主键生成策略
    Hibernate01
    struts的图片上传
    HashMap和HashTable本质性的区别
    集合03
    集合
  • 原文地址:https://www.cnblogs.com/guangluwutu/p/10626555.html
Copyright © 2011-2022 走看看