41.最大子数组
来源:互联网 发布:第一台量子网络 编辑:程序博客网 时间:2024/05/16 06:47
描述:
给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。
注意事项 子数组最少包含一个数。
样例:
给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6。
要求:时间复杂度为O(n)。
标签:贪心 数组
思路:
累加和tem,最大值sum
如果tem<0,tem抛弃原来的值,还原为0,继续加;
如果tem>0,继续加,并与sum比较, 返回最大值。
代码:
class Solution {
public:
int maxSubArray(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]>0){
tem=nums[i];
}
}
else {
tem+=nums[i];
}
if(tem>sum){
sum=tem;
}
}
return sum;
}
};
阅读全文
0 0
- 41.最大子数组
- [LintCode]41.最大子数组
- Lintcode 41.最大子数组
- 求最大子数组
- 求最大子数组
- 子数组和最大
- 求最大子数组
- 最大子数组
- 最大子数组和
- 最大子数组和
- 子数组最大和
- 子数组最大乘积
- 最大子数组
- 最大子数组乘积
- 最大子数组和
- 子数组最大和
- 子数组最大和
- 最大子数组二
- hdu 3666 THE MATRIX PROBLEM (差分约束 + 最长路)
- 条款09:绝不在构造和析构过程中调用virtual函数
- 最小子数组
- 中软高科Java培训专家:10个Java面试小技巧!
- 惊心动魄,网络传输非常慢,而且客户端上传频繁超时。
- 41.最大子数组
- 当一个头文件引用另一个头文件中的类~
- MBA改变了我的人生命运
- As提示警告:主版本52比51新的问题处理
- HDU 2519 新生晚会(组合问题)
- spring的事务处理
- 容器的扩展-1
- 面试题48:不能被继承的类
- 最近使用的matlab函数