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

    题目链接 : https://leetcode-cn.com/problems/plus-one/

    题目描述:

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

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

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

    示例:

    示例 1:

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

    示例 2:

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

    思路:

    思路一: 模拟加法过程

    class Solution:
        def plusOne(self, digits):
            """
            :type digits: List[int]
            :rtype: List[int]
            """
            carry = 1
            for i in range(len(digits)-1, -1, -1):
                carry,b = divmod(digits[i] + carry, 10)
                digits[i] = b
            if carry:
                digits.insert(0, 1)
            return digits
    

    思路二:

    其实不需要这么麻烦,只要判断这位数字是否小于9就行了

    class Solution:
        def plusOne(self, digits):
            """
            :type digits: List[int]
            :rtype: List[int]
            """
            for i in range(len(digits)-1, -1, -1):
                if digits[i] < 9:
                    digits[i] += 1
                    return digits
                else:
                    digits[i] = 0
            return [1] + [0] * len(digits)
    

    java

    class Solution {
        public int[] plusOne(int[] digits) {
            for (int i = digits.length - 1; i >= 0; i--) {
                if (digits[i] < 9) {
                    digits[i] += 1;
                    return digits;
                } else digits[i] = 0;
            }
            int[] res = new int[digits.length + 1];
            res[0] = 1;
            return res;
         
        }
    }
    

    代码:

  • 相关阅读:
    matlab中的匹配函数
    查看matlab中的小波基
    图像处理中的彩色图像处理
    OSEK Event mechanism
    OSEK OS Resource management
    ISO17356标准简介[转]
    OSEK OS标准简介(转)
    IQmath的使用方法
    HIVERT高压变频主电路构造原理
    MPPT算法
  • 原文地址:https://www.cnblogs.com/powercai/p/10930890.html
Copyright © 2011-2022 走看看