LintCode_44 最小子数组
题目
给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
注意事项
子数组最少包含一个数字
样例
给出数组[1, -1, -2, 1],返回 -3
思路
动态规划解决
C++代码
1 int minSubArray(vector<int> nums) { 2 // write your code here 3 int s, min; 4 int len = nums.size(); 5 if(len == 0) return 0; 6 int i; 7 min = nums[0]; 8 s = nums[0]; 9 for(i = 1; i < len; ++i) 10 { 11 if(s > 0) s = nums[i]; 12 else s += nums[i]; 13 min = min > s ? s : min; 14 } 15 return min; 16 }