思路:
这道题我是建立了两个数组,smaller和bigger分别存放比数字大或者小的个数,然后再遍历比较smaller和bigger的个数,相等输出arr[i],否则输出-1。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,arr[1001];
int bigger[1001],smaller[1001];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>arr[i];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(arr[i]>arr[j]&&i!=j){
smaller[i]++;
}
else if(arr[i]<arr[j]&&i!=j){
bigger[i]++;
}
}
}
int index=0;
for(int i=1;i<= n;i++){
if(smaller[i]==bigger[i]){
index=i;
}
}
if(index!=0){
cout<<arr[index]<<" ";
}else{
cout<<"-1";
}
}