首页 > 代码库 > 乱序数组找出前面的都比他小后面的都比他大的数

乱序数组找出前面的都比他小后面的都比他大的数

 1 int f(int*a,int*b,int n) 2 { 3     if(!a||!b||n<3) return -1; 4     int*temp=new int[n](); 5     int max=a[0],count=0; 6     for (int i=1;i<n-1;i++) 7         if(a[i]>max)  8         { 9             temp[i]++;10             max=a[i];11         }12     int min=a[n-1];13     for (int i=n-2;i>0;i--)14         if(a[i]<min) 15         {16             temp[i]++;17             min=a[i];18         }19     for (int i=1;i<n-1;i++)20         if(temp[i]==2) b[count++]=a[i];21     delete[]temp;22     return count;23 }

 

乱序数组找出前面的都比他小后面的都比他大的数