算法训练 出现次数最多的整数
2015-05-05 13:45
204 查看
时间限制:1.0s 内存限制:512.0MB
问题描述
编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。输入格式:
第一行是一个整数N,N <= 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。输出格式:
输出只有一行,即出现次数最多的那个元素值。输入输出样例
样例输入
5100
150
150
200
250
样例输出
150方法
老样子,依旧不是全分,错的地方我这次用VIP特权看了下输入输出,结果是正确的,现在我也不知道是怎么评判,哪里出错了
#include <stdio.h> #include <stdlib.h> int main() { int n; scanf("%d", &n); int *a = (int *)malloc(n * sizeof(int)); int *b = (int *)malloc(n * sizeof(int)); int i, j, t; for (i = 0; i < n; i++) { scanf("%d", &t); for (j = 0; j < n; j++) { if (a[j] == t) { b[j]++; //在次数统计数组中向匹配元素位置中加一 continue; } } a[i] = t; //若没有在已有元素中找到匹配项,向数组中添加新元素 } //下来就是简单的数组中找最大值问题 int k = 0; for (i = 1; i < n; i++) { if (b[i] > b[k]) k = i; else if (b[i] == b[k]) { //顺带处理下元素出现次数一样的问题 if (a[i] < a[k]) k = i; } } printf("%d\n", a[k]); free(a); free(b); return 0; }
相关文章推荐
- 蓝桥杯 算法训练 出现次数最多的整数
- 算法训练 出现次数最多的整数
- 蓝桥杯算法训练 出现次数最多的整数、
- 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 算法训练 出现次数最多的整数
- 蓝桥杯习题集_ 算法训练 出现次数最多的整数
- 2016蓝桥杯算法训练——出现次数最多的整数
- 蓝桥杯 ALGO-90 算法训练 出现次数最多的整数
- 算法训练 出现次数最多的整数
- 算法训练 出现次数最多的整数
- 算法训练 出现次数最多的整数
- 算法训练 出现次数最多的整数
- 算法训练 出现次数最多的整数
- 算法训练 出现次数最多的整数(Hashtable)
- 算法训练 出现次数最多的整数
- 蓝桥杯:算法训练 出现次数最多的整数
- 出现次数最多的整数-蓝桥杯算法训练
- 蓝桥杯——算法训练 出现次数最多的整数
- 蓝桥杯 ALGO-90 算法训练 出现次数最多的整数