首页 > 其他分享 >出现次数超过一半的数

出现次数超过一半的数

时间:2024-05-27 21:58:49浏览次数:10  
标签:输出 一半 超过 样例 50 long 次数 整数 ans

题目描述

输入n个大小在[ -50, 50]的数,n<=1000, 你需要找出出现次数超过一半的数,例如现在有7个数,大小分别为3,5,3,4,3,3,2, 数字3的出现次数就超过一半了。当然有可能不不存在这样的数。

输入格式

第一行一个整数n, 表示数的个数。 第二行n个整数,每个整数的大小在[-50, 50]范围内。

输出格式

输出出现次数超过一半的那个数的大小,如果不存在这样的数的话就输出“no”。

输入样例

7
3 5 3 4 3 3 2

输出样例

3

#include<bits/stdc++.h>
using namespace std;
long long n;
int main(){
	cin>>n;
	long long a[n],ans=INT_MIN,o=0;
	for(long long i=0;i<n;i++){
		cin>>a[i];
	}
	for(long long i=0;i<n;i++){
		long long b=0;
		for(long long j=0;j<n;j++){
			if(a[i]==a[j])b++;
		}
		if(b>n/2&&b>ans){
			o=a[i];
			ans=b;
		}
	}
	if(o!=0)cout<<o;
	else cout<<"no";
	return 0;
}

标签:输出,一半,超过,样例,50,long,次数,整数,ans
From: https://blog.csdn.net/2301_79534589/article/details/139249001

相关文章