1. 程式人生 > >挑戰程式設計競賽2 資料結構與演算法學習筆記

挑戰程式設計競賽2 資料結構與演算法學習筆記

例題 有一組n個數,求在這組數中 str[j]-str[i] 的最大值,且j>i., 2<n<20000。 我最初的思路是, max=0;  for(i=0;i<n;i++) {   for(j=0;j<i;j++)    {       if(max<str[i]-str[j])         max=str[i]-str[j];    } } printf('%d",max); 但是這樣做,在n值較大的情況下,時間複雜度,,,較大 縮小時間複雜度做法  max=0; min=str[0]; for(i=0;i<n;i++) {    if(max<str[i]-min)   max=str[i]-min; if(min<str[i]) min=str[i]; } printf("%d",max); 一遍過,時間複雜度,大大降低!