#include<iostream>
using namespace std;
int Largest_Of_Sum_Sequence(int *num,int len){
if(NULL == num || len <= 0)
return 0;
int *p_2 = num,*p_1 = num;
int sum=INT_MIN;
int sumcur=0;
for(int i=0;i<len;i++){
sumcur += num[i];
if(sumcur>sum){
sum = sumcur;
p_2 = &num[i];
}
if(sumcur<0){
if(i==len-1)
break;
else{
p_1=p_2=&num[i+1];
sumcur = 0;
}
}
}
for(;p_1<=p_2;p_1++){
cout << *p_1 << "\t";\
}
cout << endl;
return sum;
}
int main(){
//int num[] = {1, -2, 3, 10, -4, 7, 2, -5};
//int num[] = {-1,-1,-1,-1};
//int *num = NULL;
int res = Largest_Of_Sum_Sequence(num,sizeof(num)/sizeof(num[0]));
cout << res << endl;
system("pause");
}
leecode 连续数组中和最大路径
最新推荐文章于 2022-10-16 20:32:58 发布