Python编程题20--最大子序和

2021-10-23  本文已影响0人  wintests

题目

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

例如:

给定一个列表:[-2, 1, -3, 4, -1, 2, 1, -5, 4],返回结果:6

给定一个列表:[-1],返回结果:-1

实现思路1

代码实现

def maxSubArray(nums):
    res = nums[0]
    for i in range(len(nums)):
        sum = 0
        for j in range(i, len(nums)):
            sum += nums[j]
            res = sum if res < sum else res
    return res

实现思路2

代码实现

def maxSubArray(nums):
    res, sum = nums[0], 0
    for i in nums:
        sum += i
        res = sum if res < sum else res
        sum = 0 if sum < 0 else sum
    return res

更多Python编程题,等你来挑战:Python编程题汇总(持续更新中……)

上一篇下一篇

猜你喜欢

热点阅读