nyoj_95_众数问题_map练习

众数问题

时间限制:3000 ms  |  内存限制:65535 KB

难度:3

描述

所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,

多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。

现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。

输入
第一行为n,表示测试数据组数。(n<30)
每组测试的第一行是一个整数m,表示多重集S中元素的个数为m
接下来的一行中给出m(m<100)个不大于10万的自然数
(不会出现不同元素出现的次数相同的情况,如:S={11,11,22,22,33,33})。
输出
每组测试数据输出一行,包含两个数,第一个是众数,第二个是其重数,中间以空格隔开。
样例输入
1
6
1 2 2 2 3 5
样例输出
2 3哎,又好久没做题了。。。要增加难度!!!
#include <iostream>
#include <cstdio>
#include <map>

using namespace std;

int main(){
    int t;
    int m;

    int zhong=0;
    int chong=0;
    int a[1000];
    map<int,int> ma;
    scanf("%d",&t);
    for(int j=0;j<t;j++){
        zhong=0;
        chong=0;
        scanf("%d",&m);
        for(int i=0;i<m;i++){
            scanf("%d",&a[i]);
            ma[a[i]]=0;
        }
        for(int i=0;i<m;i++){
            ma[a[i]]++;
            if(ma[a[i]]>chong){
                zhong=a[i];
                chong=ma[a[i]];
            }
        }
        printf("%d %d\n",zhong,chong);
    }

    return 0;
}
时间: 2024-09-29 10:58:12

nyoj_95_众数问题_map练习的相关文章

众数问题

描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重数最大的元素成为众数.例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3. 现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数. 输入 第一行为n,表示测试数据组数.(n<30) 每组测试的第一行是一个整数m,表示多重集S中元素的个数为m 接下来的一行中给出m(m<100)个不大于10万的自然数 (不会出现不同元素出现的次数相同的情

众数问题(山东理工OJ)

题目描写叙述 给定含有n个元素的多重集合S,每一个元素在S中出现的次数称为该元素的重数.多重集S中重数最大的元素称为众数. 比如,S={1,2,2,2,3.5}.多重集S的众数是2,其重数为3. 对于给定的由n 个自然数组成的多重集S.计算S的众数及其重数. 输入 输入数据的第1行是多重集S中元素个数n(n<1300000):接下来的n行中,每行有一个最多含有5位数字的自然数,. 输出 输出数据的第1行给出众数,第2行是重数. 演示样例输入 6 1 2 2 2 3 5 演示样例输出 2 3 #i

数众数

有序整数序列,数出所有众数及其个数 模块1:线性扫描 模块2:cnt计数:条件:遇见不等,计a[i-1]的cnt notice: 最后一个数一定不会入栈,需要单独处理 1 #include <iostream> 2 #include <vector> 3 #include <stack> 4 using namespace std; 5 void findMode(vector<int> &a, stack<int> &x, st

【水?排序】10231 - 众数

[水·排序]10231 - 众数 Time Limit: 1000MS Memory Limit: 32768KB 本题由南山鲍安其原创!在此感谢! modes [题目描述]     在统计学中,将某个随机变量在实验中频数最高的取值称为“众数”.     例如在数据{1,1,2,3,4,5}中,众数为1.     需要注意的是,假如一组取值中有两个或两个以上取值的频数相同且最多,则他们都是众数.     例如{1,1,2,2,3,4,5}中的众数为1.2.     现在给你一组数据,请你输出这组

ThinkPhP中model字段映射 $_map

1 <?php 2 class UserModel extends RelationModel{ 3 /**将表单中的name映射到该表中的username**/ 4 protected $_map = array( 5 'name' => 'username', 6 ); 7 /*所以在表单提交时不需要改变表单中的'name'名称 8 *当要读出'name'的值时,表中存在的是username,所以,需要用函数转化 9 *$data = $User->parseFieldsMap($d

【BZOJ 2724】 2724: [Violet 6]蒲公英 (区间众数不带修改版本)

2724: [Violet 6]蒲公英 Time Limit: 40 Sec  Memory Limit: 512 MBSubmit: 1908  Solved: 678 Description Input 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1) mod n + 1 Output Sample Input 6 3 1 2 3 2 1 2 1 5 3 6 1 5 Sample Output 1 2 1 HINT 修正下: n <= 4

众数的完整程序源代码

问题 在一个序列中出现次数最多的元素称为众数. 程序源码 完整的程序源代码如下: //先对序列进行快速排序 //再进行一次遍历 //输出众数的重复次数 点击了解完整代码!

ACM题目————STL练习之众数问题

描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重数最大的元素成为众数.例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3. 现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数. 输入 第一行为n,表示测试数据组数.(n<30)每组测试的第一行是一个整数m,表示多重集S中元素的个数为m接下来的一行中给出m(m<100)个不大于10万的自然数(不会出现不同元素出现的次数相同的情况,如

平均值mean,众数mode,中值median 和 标准差stddev

平均值mean,众数mode,中值median 和 标准差stddev 均值,众数,中位数,标称差: 均值是就全部数据计算的,它具有优良的数学性质,是实际中应用最广泛的集中趋势测度值.其主要缺点是易受数据极端值的影响,对于偏态分布的数据,均值的代表性较差.作为均值变形的调和平均数和几何平均数,是适用于特殊数据的代表值,调和平均数主要用于不能直接计算均值的数据,几何平均数则主要用于计算比率数据的平均数,这两个测度值与均值一样易受极端值的影响. 一般代表算术平均值.也就是:比如 众数是一组数据分布的