44.最小子数组
2017-09-21 17:22
141 查看
描述:
给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
注意事项:子数组最少包含一个数字。
样例:
给出数组[1, -1, -2, 1],返回 -3。
标签:贪心 数组
思路:
累加和tem,最小值sum
如果tem>0且tem<被加数值,tem抛弃原来的值,还原为被加数值,继续加;
如果tem<0,继续加;
与sum比较, 返回最小值。
代码:
class Solution {
public:
int minSubArray (vector<int> &nums) {
int sum=nums[0];
int tem=nums[0];
for(int i=1;i<nums.size();i++){
if(tem>=0){
if(nums[i]<tem){
tem=nums[i];
}
}
else {
tem+=nums[i];
}
if(tem<sum){
sum=tem;
}
}
return sum;
}
};
给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
注意事项:子数组最少包含一个数字。
样例:
给出数组[1, -1, -2, 1],返回 -3。
标签:贪心 数组
思路:
累加和tem,最小值sum
如果tem>0且tem<被加数值,tem抛弃原来的值,还原为被加数值,继续加;
如果tem<0,继续加;
与sum比较, 返回最小值。
代码:
class Solution {
public:
int minSubArray (vector<int> &nums) {
int sum=nums[0];
int tem=nums[0];
for(int i=1;i<nums.size();i++){
if(tem>=0){
if(nums[i]<tem){
tem=nums[i];
}
}
else {
tem+=nums[i];
}
if(tem<sum){
sum=tem;
}
}
return sum;
}
};
相关文章推荐
- LintCode. 44 最小子数组
- lintcode 44.最小子数组
- LintCode之44 最小子数组
- python_lintcode_简单题 _44最小子数组_41最大子数组
- LintCode 44 最小子数组
- <LeetCode> 题44:最小子数组
- 44-z最小子数组
- lintcode-44-最小子数组
- Lintcode-贪心-最大子数组和最小子数组
- lintcode-406-和大于S的最小子数组
- 和大于S的最小子数组-LintCode
- LintCode-和大于S的最小子数组
- 44. 最小子数组
- lintcode ----最小子数组
- Java实现-最小子数组
- Lintcode:最小子数组
- LeetCode OJ:Minimum Size Subarray Sum(最小子数组的和)
- [Lintcode]Minimum Size Subarray Sum 和大于S的最小子数组
- 44. 最小子数组
- LintCode:M-和大于S的最小子数组