- 【基础】统计每个数出现的次数
神秘题目
- @ 2025-12-6 20:10:03
#include<bits/stdc++.h>
using namespace std;
int main() {
int n, x, d = 2e9, a = -1;
map<int, int> m;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> x;
if (m[x] && i - m[x] < d) {
d = i - m[x];
a = x;
}
m[x] = i;
}
if (a == -1) cout << "No";
else cout << a;
return 0;
}
4 条评论
-
张柏然 @ 2026-1-13 16:13:48#include<iostream> #include<algorithm> using namespace std; int main(){ string s,t; getline(cin,s); for(int i=0; i<s.size(); ++i){ if(s[i]!=' '){ t[i]=s[i]; } else if(s[i]==' '){ reverse(t.begin(),t.end()); } } return 0; } -
@ 2026-1-13 16:11:48#include<bits/stdc++.h> using namespace std; const long long N=1000000000; // 1000000000 long long a[N]; void sel(int n){ for(int i=1;i<n;++i) for(int j=i+1;j<=n;++j){ if(a[i]<a[j]) swap(a[i],a[j]); } return ; } int main(){ int n,cnt=0; cin>>n; for(int i=1;i<=n;++i) cin>>a[i]; sel(n); for(int i=n;i>=1;--i){ if(a[i]==a[i-1]){ cnt++; } } if(cnt==n) cout<<"Jolly"; else cout<<"Not jolly"; return 0; } -
@ 2025-12-6 20:13:12你给我看看第三题
-
@ 2025-12-6 20:12:08int n, x, d = INT_MAX, a = -1; // n:数组长度,x:当前输入的数,d:最小距离,a:答案 map<int, int> m; cin >> n; // 输入数组长度 for (int i = 1; i <= n; i++) { // 循环读取每个数 cin >> x; // 输入当前数 if (m[x] && i - m[x] < d) { // 如果之前出现过且距离更小 d = i - m[x]; // 更新最小距离 a = x; // 更新答案 } m[x] = i; // 更新这个数最后一次出现的位置 } if (a == -1) cout << "No"; else cout << a;
- 1
信息
- ID
- 150
- 时间
- ms
- 内存
- MiB
- 难度
- 6
- 标签
- 递交数
- 125
- 已通过
- 43
- 上传者