找出出现次数最多的数字(需要考虑顺序)
2013-01-17 13:21
295 查看
这是一个典型的计数排序,此处不需要排序,仅仅计数就可以了,该程序有一定难度,尤其是要考虑顺序时,程序提交一次,就通过了,好开心呀! 另外,计数过程的确很精妙,不需要排序,时间复杂度仅为O(n).
#include <iostream> using namespace std; int main() { char str[257]; int times[10]; int maxTimesNumber, maxTimes; while(cin >> str) { int i; memset(times, 0, 10 * sizeof(10)); for(i = 0; '\0' != str[i]; i++) { times[str[i] - '0']++; } maxTimes = 0; for(i = 0; '\0' != str[i]; i++) { if(times[str[i] - '0'] > maxTimes) { maxTimes = times[str[i] - '0']; maxTimesNumber = str[i] - '0'; } } /* // The following statements fail to consider the order. for(i = 0; i < 10; i++) { if(times[i] > maxTimes) { maxTimes = times[i]; maxTimesNumber = i; } } */ cout << maxTimesNumber << "," << maxTimes << endl; } return 0; }
相关文章推荐
- 输入10个数,找出出现次数最多的数 (如果多个并列,则按数字出现顺序分别输出)
- 一个简单的算法---实现找出数组中一个数字出现次数最多的数字
- 一个简单的算法---实现找出数组中一个数字出现次数最多的数字
- 一个简单的算法---实现找出数组中一个数字出现次数最多的数字
- 由自然数1-1000中某些数字,找出出现次数最多的数字
- Java-实现找出数组中一个数字出现次数最多的数字
- 一个简单的实现找出数组中一个数字出现次数最多的数字的算法
- 从输入的数中找出出现次数最多的数字
- 找出数组中出现次数最多的数字&找出数组中只出现一次的数字
- 一个简单的算法---实现找出数组中一个数字出现次数最多的数字
- python(dict字典相关知识以及小例子:生成一个列表,存放100个随机整数,找出出现次数最多的数字)
- 找出数组中出现次数最多的数字
- 找出数组中出现次数最多的数字
- 小程序(九)找出数组中出现最多的数字以及它的出现次数
- 生成一个列表,存放100个随机整数,找出出现次数最多的数字(可能不止一个)
- 1、在一个由自然数1-1000中某些数字所组成的数组中,每个数字可能出现零次或者多次。设计一个算法,找出出现次数最多的数字。
- 找出一堆数里面出现次数最多或最多的前N个数字
- J2EE面试题之 java如何找出一个int数组中出现次数最多的数字以及出现次数?
- adae 生成一个列表,存放100个随机整数,找出出现次数最多的数字(可能不止一个)
- C++ 实现从0~100中随机生成50个数,统计出现的数字最大值和最小值,输出出现最多的次数及对应的数字