2-1 众数问题 算法

给定含有n个元素的多重集合s,每个元素在s中出现的次数称为该元素的重数,多重集s中重数最大

的元素称为众数,给定多重集合s,求s中的众数集重数。


/*2-1众数问题*/ 
#include <iostream>
using namespace std;
int main() {
	int n,x[n];
	int count,num,maxnum,maxcount;//count代表重数 num代表众数 
	//输入元素 
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>x[i];
	}
   
   count=1;num=x[0];maxcount=count;maxnum=num;//设置初始值 
   for(int i=1;i<n;i++){
   	if(x[i]==num){
   		count++;
	   } 
	else if(maxcount<=count){
		maxcount=count;	
		maxnum=num;
		count=1;
		num=x[i];
		}	

   } 
   cout<<maxnum<<endl;
   cout<<maxcount<<endl;
	return 0;
}
点赞