题解.
2026-03-17 19:11:25
发布于:山东
29阅读
0回复
0点赞
思路:
题目中有提过,只有一个不同数字,那么这个数字要么比其他数字小,要么大,
所以排序后第一个或最后一个就是不同的数字
但是答案需要下标,所以定义一个b数组,储存原本的a,然后再循环找出下标
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int t;
scanf("%d",&t);
for(int j=1;j<=t;j++){
int n,a[105],b[105];
scanf("%d",&n);
for(int i=1;i<=n;i++){
cin>>a[i];
b[i]=a[i];
}
int day=0;
sort(a+1,a+n+1);
if(a[1]!=a[2]) day=a[1];
else day=a[n];
for(int i=1;i<=n;i++){
if(b[i]==day){
cout<<i<<endl;
break;
}
}
}
return 0;
}
qwq有人吗
全部评论 2
@FF_13这结构体有力气
#include<cstdio> #include<algorithm> using namespace std; struct number{ int i; int num; }a[100]; bool cmp(number a,number b){ return a.num<b.num; } int main(){ int t,n; scanf("%d",&t); while(t--){ scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a[i].num); a[i].i=i+1; } sort(a,a+n,cmp); if(a[0].num==a[1].num)printf("%d\n",a[n-1].i); else printf("%d\n",a[0].i); } }2026-03-27 来自 河北
1太妙了(๑•̀ㅂ•́)و✧
2026-03-28 来自 山东
1
捉
2026-03-27 来自 河北
1








有帮助,赞一个