蓝桥杯-算法训练-出现次数最多的整数
2018-03-10 15:22
253 查看
[align=center] 算法训练 出现次数最多的整数 [/align]问题描述
编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。
输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。
输出格式:输出只有一行,即出现次数最多的那个元素值。
输入输出样例样例输入5
100
150
150
200
250样例输出150
编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。
输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。
输出格式:输出只有一行,即出现次数最多的那个元素值。
输入输出样例样例输入5
100
150
150
200
250样例输出150
#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { int n,max=1,num=1; //max出现最多次的数的出现次数 cin >> n; int digital[20]; vector<int> number; //存放不同数字出现的个数 for (int i = 0; i < n; i++) cin >> digital[i]; for (int i = 1; i < n; i++) { if (digital[i-1] == digital[i]) { num++; } else if(digital[i-1]!=digital[i]) { if (max < num) max = num; number.push_back(num); num = 1; } if (digital[i - 1] == digital[i] && i == n - 1) { if (max < num) max = num; number.push_back(num); } if(digital[i-1]!=digital[i]&&i==n-1) { if (max < num) max = num; number.push_back(num); } } for (int i = 0; i < number.size(); i++) { if (number[i] == max) { int a = 0; //出现最多次数的位置,把前面不同的数的出现次数加起来获得 for (int j = 0; j < i; j++) a += number[j]; cout << digital[a] << endl; break; } } return 0; }
相关文章推荐
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯算法训练 出现次数最多的整数、
- 蓝桥杯算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数(水)
- 蓝桥杯:算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯习题集_ 算法训练 出现次数最多的整数
- 蓝桥杯——算法训练 出现次数最多的整数
- 蓝桥杯--算法训练 出现次数最多的整数
- 蓝桥杯——算法训练 出现次数最多的整数
- 蓝桥杯 ALGO-90 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯习题集_ 算法训练 出现次数最多的整数
- 蓝桥杯 ALGO-90 算法训练 出现次数最多的整数
- 蓝桥杯-算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数