- 出现次数超过一半的数
思路
- 2025-1-21 14:02:31 @
//int arr[] 下标 有可能是负数么?
//
//-50 ~ 50
//把每一个输入的数字 +51
//
//1~101
#include <bits/stdc++.h>
using namespace std;
int arr[105];
int main(){
int n,x; //有n个数
cin>>n;
for(int i=1;i<=n;i++){
cin>>x;//拿入n个数
x+=51; //为了规避负数
arr[x]++; //当前这个数对应的位置的值++
}
for(int i=1;i<=101;i++){
if(arr[i]>n/2){
cout<<i-51;
}
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int arr[105];
int main()
{
int n,x;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
x+=51;
arr[x]++;
}
for(int i=1;i<=101;i++)
{
if(arr[i]>n/2)
{
cout<<i-51;
return 0;
}
}
cout<<"no";
return 0;
}
1 条评论
-
wrj LV 6 SU @ 2025-1-22 14:00:42
#include<bits/stdc++.h> using namespace std; int arr[105];
int main() { int n,x; cin>>n; for(int i=1;i<=n;i++) { cin>>x; x+=51; arr[x]++; } for(int i=1;i<=101;i++) { if(arr[i]>n/2) { cout<<i-51; return 0; } } cout<<"no"; return 0; }
- 1
信息
- ID
- 151
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 66
- 已通过
- 12
- 上传者