zoukankan      html  css  js  c++  java
  • 【9203】众数

    Time Limit: 10 second
    Memory Limit: 2 MB

    问题描述
    由文件给出N个1到30000间无序正整数,其中1<=N<=10000,同一个正整数 可能会出现多次,出现次数最多的整数称为众数。
    [编程任务]:求出该文件中的众数M及它出现的次数num。

    Input

    两行,第一行为正整数的个数N,第二行为n个正整数。

    Output

    有若干行,每行两个数,第一个是众数,第二个众数出现的次数。(s输出按从小到大一次输出每行)

    Sample Input

    12
    2 4 2 3 2 5 3 7 2 3 4 3
    
    

    Sample Output

    2 4
    3 4
    
    

    【题解】

    计数排序,在计数排序的时候不断更新最大值 就好。最后在for 1 到30000 如果数字出现的次数等于最大值就输出。

    【代码】

    #include <cstdio>
    
    const int MAXN = 30000;
    
    int n,bo[MAXN+10],maxnumber = 0,tmax;
    
    void input_data() {
    	for (int i = 1; i <= MAXN; i++)	bo[i] = 0; //先初始化一下 
    	scanf("%d",&n); 
    	for (int i = 1; i <= n; i++) {
    		int temp;
    		scanf("%d",&temp); //输入一个数字后就直接递增数目 
    		bo[temp]++;
    		if (bo[temp] >= maxnumber) {
    			maxnumber = bo[temp];
    			tmax = temp;
    		}
    	}
    }
    
    void output_data() {
    	for (int i = 1; i <= MAXN; i++)
    		if (bo[i] == maxnumber) //如果等于出现的最多次数就输出。 
    			printf("%d %d
    ",i,maxnumber);
    }
    
    int main() 
    {
    	input_data();
    	output_data();
    	return 0;
    }
    


     

  • 相关阅读:
    MyBatis 配置文件 用户密码加密存储
    MyBatis 实例
    mybatis 入门搭建
    文件上传
    struts 结果类型
    Struts 拦截器
    log4j
    Struts Action 控制器
    Struts
    四、常用的Maven命令
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7632502.html
Copyright © 2011-2022 走看看