python算法:最大子序和

最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
python算法:最大子序和_第1张图片
办法有很多,可是我却偏偏想到最笨的一个 -_-||
这个办法的主要思想就是,不断地遍历列表并累加,当大于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

你可能感兴趣的:(python,数据结构,python,leetcode,算法,java)