给定一个数组,求最大的一段子段的和:
如: num = {-5,12,3,-8,2,-9} 最大的子段和为9
int sum = 0;
for (int i = 0; i < N; i++) {
if(sum + num[i] < 0) {
sum = 0;//若sum小于0 那么之前的一段就不要了
} else {
sum += num[i];
}
ans = max(ans, sum);//ans保存每一次正数连续子串,有更大的就更新。
}
标签:最大,子段,sum,一段,算法,num,ans From: https://blog.51cto.com/u_15664219/6010861