求次小值和次大值O(n) 最小值和次小值 int m=1e9,m1=1e9; for(int i=1,x;i<=n;i++){ scanf("%d",&x); if(x<m){ m1=m; m=x; }else if(x<m1) m1=x; } 最大值和次大值 int m=0,m1=0; for(int i=1,x;i<=n;i++){ scanf("%d",&x); if(x>m){ m1=m; m=x; }else if(x>m1) m1=x; }