nyoj 95-众数问题 (map)

95-众数问题

内存限制:64MB
时间限制:3000ms
特判: No

通过数:16
提交数:29
难度: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

C/C++  AC:
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 #include <cmath>
 6 #include <stack>
 7 #include <set>
 8 #include <map>
 9 #include <queue>
10 #include <climits>
11
12 using namespace std;
13 int n, m;
14
15 int main()
16 {
17     cin >>n;
18     while (n --)
19     {
20         int a, b = 0, temp;
21         map <int, int> my_map;
22         pair <map<int, int> :: iterator, bool> pr;
23         scanf("%d", &m);
24         while (m --)
25         {
26             cin >> temp;
27             pr = my_map.insert(pair<int, int>(temp, 1)); // 注意map插入,pair<int, int>(temp, 1);
28             if (!pr.second)
29             {
30                 my_map[temp] ++;
31                 if (b < my_map[temp])
32                 {
33                     a = temp;
34                     b = my_map[temp];
35                 }
36             }
37         }
38         printf("%d %d\n", a, b);
39     }
40 }

原文地址:https://www.cnblogs.com/GetcharZp/p/9320695.html

时间: 2024-08-11 14:09:42

nyoj 95-众数问题 (map)的相关文章

nyoj 95 众数问题【水】

众数问题 时间限制: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接下来的一行中给出

nyoj 95 众数问题

众数问题 时间限制: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 接下来的一行中

NYOJ 685 查找字符串(map)

查找字符串 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 小明得到了一张写有奇怪字符串的纸,他想知道一些字符串出现了多少次,但这些字符串太多了,他想找你帮忙,你能帮他吗?输入字符包括所有小写字母.'@'.'+'. 输入 第一行包含一个整数T(T<=100).表示测试数据组数. 接下来每组数据第一行包含两个整数n,m(n,m<100000),分别表示有n个字符串,小明要问你m次. 接下来n行,每行包含一个字符串,长度不大于15. 接下来m行,每行包含一个字符串,表

nyoj 1112 求次数(map, set)

求次数 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 题意很简单,给一个数n 以及一个字符串str,区间[i,i+n-1] 为一个新的字符串,i 属于[0,strlen(str)]如果新的字符串出现过ans++,例如:acmacm n=3,那么 子串为acm cma mac acm ,只有acm出现过 求ans; 输入 LINE 1: T组数据(T<10)LINE 2: n ,n <= 10,且小于strlen(str);LINE 3:strstr 仅包含英文小

NYOJ 285 寻找克隆人(map+计数)

题目描述 http://acm.nyist.net/JudgeOnline/problem.php?pid=285 美国的一个小镇近日被外星人袭击,一部分居民被其带走并克隆,现在,科学家提取了镇上一些人的DNA,请找出其中具有相同被克隆个数的DNA个数,例如下面的9个序列 AAAAAA ACACAC GTTTTG ACACAC GTTTTG ACACAC ACACAC TCCCCC TCCCCC 其中TCCCCC,GTTTTG分别具有两个相同个体,ACACAC有四个,AAAAAA为一个,则按照行

NYOJ---题目95众数问题

众数问题 时间限制: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 接下来的一行中

nyoj 95

 #include<stdio.h> #include<queue> #include<algorithm> using namespace std; struct node { bool operator()(int &x,int &y)//优先级 { return x>y; } }; priority_queue<int,vector<int>,node> que;//队列 int main() { int n; s

javaBean与Map&lt;String,Object&gt;互转

1. 为什么要实现javaBean与Map<String,Object>相互转换? 用过spring的都知道spring的MVC框架中有一个BaseCommandController对象,利用这个对象我们就可以很方便的将从客户端传递过来的参数封装到一个JavaBean对象中去,而不需要我们request.getParameter("name");bean.setName(name);了,从而也简化了不少的工作.如果大家用过BeanUtils.populate的话,就知道,这

SONObjetc和String Map Bean互转,JSONArray和String List互转

1 import java.util.ArrayList; 2 import java.util.HashMap; 3 import java.util.List; 4 import java.util.Map; 5 6 import com.alibaba.fastjson.JSONArray; 7 import com.alibaba.fastjson.JSONObject; 8 9 10 public class JSONParse { 11 12 public static void m