时间限制:1秒 空间限制:32768K
题目描述
给一个数组,返回它的最大连续子序列的和,子向量的长度至少是1。例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。
我的代码
class Solution {
public:
int FindGreatestSumOfSubArray(vector<int> array) {
//定义f(i)为以下标i对应的值结尾的最大连续子序列的和
int n=array.size();
if(n<1)
throw n;
vector<int> f(n,0);
f[0]=array[0];
int res=array[0];
for(int i=1;i<n;i++){
f[i]=max(f[i-1]+array[i],array[i]);
res=max(res,f[i]);
}
return res;
}
};
运行时间:5ms
占用内存:468k
网友评论