201612-1 中间数
题目
思路
每两个数之间作比较,用数组b记录,大于则减一,小于则加一,最后是0的就是结果。
AC代码
#include<cstdio>
int main(){
int n,a[1005],b[1005]={0};
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
for(int j=0;j<i;j++){
if(a[i]>a[j]){
b[i]--;
b[j]++;
}
else if(a[i]<a[j]){
b[i]++;
b[j]--;
}
}
}
int i;
for(i=0;i<n;i++){
if(b[i]==0){
printf("%d\n",a[i]);
break;
}
}
if(i==n) printf("-1\n");
return 0;
}