数组元素范围小,利用桶排序,遍历桶数组判断是否存在中间数。
include <bits/stdc++.h>
using namespace std;
int main ()
{
int n,i,sum=0;
cin>>n;
int a,b[1010]={0};
for(i=0;i<n;i++) {
cin>>a;
b[a]++;
}
for(i=1;i<1001;i++) {
if(b[i]!=0&&sum==(n-sum-b[i])) break;
sum+=b[i];
}
if(i<=1000) cout<<i;
else cout<<-1;
return 0;
}
浙公网安备 33010602011771号