數組求和問題

複雜度O(n)

 

#include <stdio.h>

int MaxSeqSum(const int A[],int N)
{
      int s1,s2,j;
      s1 = s2 = 0;
      for(j = 0;j < N;j++)
      {
               s1 += A[j];
               if(s1 > s2)
                     s2 = s1;
               else if(s1 < 0)
                     s1 = 0;
      }
      return s2;
}
int main()
{
     int a[5];
     int i;
     printf("Please input 5 numbers:\n");
     for(i = 0;i < 5;i++)
            scanf("%d",&a[i]);
     printf("\n");
 
     printf("result is %d\n",MaxSeqSum(a,5));
     return 0;
}
輸出結果:

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章