众数问题(map容器)

转载 2015年07月09日 21:25:39

众数问题

时间限制: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
来源
[rooot]原创
上传者
rooot


#include<map>
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    int i,n,m,k,num,num_num;
    cin>>n;
    while(n--)
    {
        num_num=-1;
        cin>>m;
        map<int,int>mp;
        for(i=0;i<m;i++)
        {
            cin>>k;
            mp[k]++;
        }
        for(map<int ,int>::iterator it=mp.begin();it!=mp.end();it++)
        {
            if(it->second>num_num)
            {
                num=it->first;
                num_num=it->second;
            }
        }
        cout<<num<<" "<<num_num<<endl;
    }
}


众数问题(分治法求解-mtzhang)

一、问题描述 给定含有n个元素的多重集合s,每个元素在s中出现的次数称为该元素的重数,多重集s中重数最大 的元素称为众数,给定多重集合s,求s中的众数集重数。 二、算法思想及描述 我在网上看了,感觉都...
  • MSTZhang
  • MSTZhang
  • 2016年10月30日 13:12
  • 3774

绝对众数的求法

绝对众数是指在数列 p中出现次数严格大于|p|/2的数。 求绝对众数的几种方法: (1)快速排序 快速排序之后在数列中间的数是绝对众数 (2)摩尔投票法 摩尔投票法的基本思想很容易理解,在每...
  • lion19930924
  • lion19930924
  • 2016年07月21日 14:43
  • 417

众数问题(map)

代码仅供参考,勿拷贝作为课堂派作业!!! map容器详解:http://blog.csdn.net/kavu1/article/details/52744677 #include #include...
  • kavu1
  • kavu1
  • 2016年10月06日 19:01
  • 228

求众数的两种方法

  • 2007年12月06日 23:42
  • 872KB
  • 下载

最好的线段树总结

线段树详解 By 岩之痕 目录: 一:综述 二:原理 三:递归实现 四:非递归原理 五:非递归实现 六:线段树解题模型 七:扫描线 八:可持久化 (主席树) 九:...
  • YitongJun
  • YitongJun
  • 2016年11月17日 00:59
  • 5095

求众数的算法研究

求众数是一个古老的问题。众数:是一组数据中出现次数最多的数值。
  • OIljt12138
  • OIljt12138
  • 2016年02月20日 13:45
  • 1265

众数问题(map容器)

众数问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为...
  • baidu_23955875
  • baidu_23955875
  • 2015年07月09日 21:25
  • 334

数组的众数问题分治法解法

★问题描述:给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。★编程任务:...
  • weixiaoshashou
  • weixiaoshashou
  • 2009年12月10日 13:51
  • 4213

算法分析之众数问题O(nlogn)

#include #include using namespace std; int mode(vector& a, int left, int right, int& num) { int ...
  • qq_21555605
  • qq_21555605
  • 2016年10月02日 09:04
  • 781

众数问题(递归分治策略)

所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重...
  • GuoZLH
  • GuoZLH
  • 2016年03月07日 08:30
  • 4761
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:众数问题(map容器)
举报原因:
原因补充:

(最多只允许输入30个字)