首页 > 编程语言 >【算法】算法之出现次数最多且数值最小的数(C++源码)

【算法】算法之出现次数最多且数值最小的数(C++源码)

时间:2022-10-17 23:31:48浏览次数:49  
标签:int sum C++ 算法 源码 输入 描述


【算法】算法之出现次数最多且数值最小的数(C++源码)

一、问题描述

给定n个正整数,编写一个算法找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。

二、输入描述

输入的第1行只有一个正整数n,表示数字的个数;输入的第2行有n个整数s1,s2,…,sn。相邻的数用空格分隔。

三、输出描述

输出这n个数出现次数最多的数。如果有多个,输出其中最小的一个。
例如,输入的6个整数为10,1,10,20,30,20时,输出为10。

四、步骤描述

输入vector数组,用sort函数排序,统计最长连续子串就行。

五、运行结果截图

【算法】算法之出现次数最多且数值最小的数(C++源码)_#include


【算法】算法之出现次数最多且数值最小的数(C++源码)_#include_02


【算法】算法之出现次数最多且数值最小的数(C++源码)_c++_03

六、源代码(C++)

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
int n;
cin>>n;
vector<int> a(n);
for(int i=1;i<=n;++i)
{
cin>>a[i];
}
sort(a.begin(),a.end());
int sum=0,m=1,temp=a[1];
for(int i=1;i<=n;++i)
{
if(a[i]==a[i+1])
{
sum++;
if(sum>=m)
{
m=sum;
temp=a[i];
}
}
else
{
sum=0;
}
}
cout<<temp;
return 0;
}


标签:int,sum,C++,算法,源码,输入,描述
From: https://blog.51cto.com/u_15739363/5764701

相关文章