最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
办法有很多,可是我却偏偏想到最笨的一个 -_-||
这个办法的主要思想就是,不断地遍历列表并累加,当大于res时,将res替换成该最大值,遍历完一次后,把头元素去掉,继续遍历
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
res = nums[0] # res用来保存最大值,这里用第一个元素初始化
while nums: # 当nums不为空
row = 0 # 保存元素的累加值
for m in nums:
row += m
if row > res: # 当累加值大于res时,替换成该值
res = row
nums.pop(0) # 把第一个元素去掉,继续循环
return res
题库来源:https://leetcode-cn.com