最大子数组之和(N)

 1 int maxSum(int *array, int n)

 2 {

 3     int rvsum = array[0];

 4     int newsum = 0;

 5 

 6     int i = 0;

 7     for(i = 0; i < n; i++) 

 8     {

 9         if(newsum >= 0)

10             newsum += array[i];

11         else    

12             newsum = array[i];

13 

14         if(rvsum < newsum) 

15             rvsum = newsum; 

16     }

17 

18     return rvsum;

19 }   

 

 1 //N^3

 2 int MaxSum(int *array, int n)

 3 {

 4     int maxinum = -INF; 

 5     int sum = 0;

 6     int i = 0, j = 0, k =0;

 7 

 8     for(i = 0; i < n; i++) 

 9     {

10         for(j = i; j < n; j++) 

11         {       

12             for(k = i; k<= j; k++) 

13             {       

14                 sum += array[k];

15             }       

16 

17             if(sum > maxinum)

18                 maxinum = sum;

19 

20             sum = 0;

21         }       

22     }

23 

24     return maxinum;                                                                                                

25 }

 

 

你可能感兴趣的:(数组)