题目描述:给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
样例:给出数组[1, -1, -2, 1],返回 -3
上一道题,已经讲过最大子数组是如何处理的了(详见:点击打开链接),这道题,稍微做一点修改即可。
既然求最小,那么只要是大于0的前n位和就不能要。
代码几乎和上一道题一模一样:
class Solution:
"""
@param nums: a list of integers
@return: A integer denote the sum of minimum subarray
"""
def minSubArray(self, nums):
temp_sum = 0
min_value = nums[0]
for i in nums:
temp_sum += i
min_value = min(temp_sum, min_value)
min = min(0, temp_sum)
return min_value
# write your code here
不仔细讲了,因为和上一道题太像,没弄懂的话,好好看上一道题的讲解