剑指offer:连续子数组的最大和
定义数组的第一个元素为最大数,此时的最大值result,后续会更新result的,进行for循环,i=1,如果array[i]+maxNum(数组的前两位)大于此时的arsy[i],则把他两相加。不大于的话就更新此时的maxNum,放到result中,最后将result中的结果和新遍历相加得到的值相比较,谁大输出谁!!!
class Solution{
public:
int FindGreatestSumOfSubArray(vector<int> array){
int len =array.size();
int maxNum = array[0],result = maxNum;
for(int i =1;i<len;++i){
if(array[i]+maxNum>array[i])
maxNum += array[i];
else
maxNum = array[i];
result = max(result, maxNum);
}
return result;
}
};
#剑指OFFER##23届找工作求助阵地#
