暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

最大子序和

三木小小推 2019-08-16
242


微信公众号:三木小小推[1]
系列:刷题之Python
如果你觉得该系列对你有帮助,欢迎点好看[2]

问题描述

问题一

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

示例:

输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。

问题二

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

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

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

示例 1:

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

示例 2:

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

解决方案

题目一

 class Solution:
    def maxSubArray(self, nums):
        for i in range(1, len(nums)):
            nums[i] = nums[i] + max(nums[i-1], 0)

        return max(nums)

题目二

class Solution:
    def plusOne(self, digits):
        carry = 1
        digits = [0] + digits
        for i in range(1, len(digits)+1):
            if carry == 1:
                if digits[-i] == 9:
                    digits[-i] = 0
                else:
                    digits[-i] += 1
                    return digits if digits[0] != 0 else digits[1:]

欢迎订阅

下面是三木小小推的二维码,欢迎订阅呦~~

你点的每个好看,我都认真当成了喜欢


文章转载自三木小小推,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论