1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int a[6] = {2,-1,-4,5,-3,7}; 5 int b[6] = {-2,-1,-4,-5,-3,-7}; 6 7 int get_max_sum(int x[],int s) 8 { 9 if(s<=0) 10 exit(-1); 11 12 int max = x[0]; 13 int sum = 0; 14 15 int i=0; 16 for(i=0;i < s;i++) 17 { 18 if(sum<0) 19 sum = x[i]; 20 else 21 sum = sum+x[i]; 22 if(sum>max) 23 max=sum; 24 } 25 return max; 26 } 27 28 int main() 29 { 30 printf("the max sum a is %d\n",get_max_sum(a,6)); 31 printf("the max sum b is %d\n",get_max_sum(b,6)); 32 return 0; 33 }
1 #!/usr/bin/python 2 #^_^*--coding:utf8 3 4 def get_max_sum(a): 5 imax = a[0] 6 isum = 0 7 8 for i in a: 9 if isum < 0: 10 isum = i 11 else: 12 isum = isum+i 13 14 if isum > imax: 15 imax = isum 16 17 return isum 18 19 t = [2,-1,4,-3,5,0] 20 21 print get_max_sum(t)