找最大重复次数的数和重复次数(C++ Pair)
Problem A: 第一集 你好,世界冠军
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 265 Solved: 50
[Submit][Status][Web Board]
Description
“我宣布,第十届国际程序设计竞赛现在开始!本次比赛时间为9点到14点……”伴随着大赛主席的宣布,一场体现现今最高编程水平的大赛正式拉开帷幕。
Input
输入包括多组测试数据
Output
对于每组测试数据输出2个数,分别表示出现最多次的数和它出现的次数。(如果有多个同样次数的数,输出最小的那个)
Sample Input
5
1 2 1 2 3
Sample Output
1 2
/***********************************************************************************/
水题,用这题目来尝试下Pair二元组的使用二元,可以忽略不看
包含:#include<utility> 且 algorithm 和 map 也包含了这个头文件
pair <type,type>Sum[];/*定义二元组的数组*/
Sum.first;/*第一个元素,自己赋予含义即可*/
Sum.second;/*第一个元素,自己赋予含义即可*/
pair <pair<int ,int>a,int>SUM[];/*二元组可以嵌套使用*/
SUM.pair.first;/*第一个元素,自己赋予含义即可*/
SUM.pair.second;/*第一个元素,自己赋予含义即可*/
/***********************************************************************************/
#include <algorithm>
#include <iostream>
#include <stack>
#include <stdio.h>
#include <string.h>
using namespace std;
int MAX_NUM,Max;
void Judge(pair<int,int>Sum) /*判断结果*/
{
if(Max<=Sum.second)
{
MAX_NUM=Sum.first;
Max=Sum.second;
}
return ;
}
int main()
{
SUM.pair.
int T,sign;
int Num[];
while(scanf("%d",&T)!=EOF)
{
sign=-;Max=;
pair <int,int>Sum[]; /*定义二元组,first记录点的大小,second记录点的次数*/
for(int i=;i<T;i++)
scanf("%d",&Num[i]); /*输入每一个点*/
sort(Num,Num+T); /*排序,升序*/
for(int i=T-;i>=;i--)
{
if(i==T-||(Sum[sign].first!=Num[i]))/*点不一样,进行判断和记录新的一个点*/
{
if(sign>=)
Judge(Sum[sign]); /*判断*/
sign++;
Sum[sign].first=Num[i]; /*对下个记录的点初始化*/
Sum[sign].second=; /*对下个记录的点初始化*/
}
else
{
Sum[sign].second++; /*点一样,记录的点数加1*/
}
if(i==)Judge(Sum[sign]); /*需要特判*/
}
printf("%d %d\n",MAX_NUM,Max); /*输出出现的次数最多的点的大小和其所出现的次数*/
}
return ;
}
找最大重复次数的数和重复次数(C++ Pair)的更多相关文章
- TZOJ3043: 取个标题好难 最长的出现次数>=k的不重复子串长度
3043: 取个标题好难 Time Limit(Common/Java):6000MS/18000MS Memory Limit:65536KByteTotal Submit: 17 ...
- 【POJ 3693】Maximum repetition substring 重复次数最多的连续重复子串
后缀数组的论文里的例题,论文里的题解并没有看懂,,, 求一个重复次数最多的连续重复子串,又因为要找最靠前的,所以扫的时候记录最大的重复次数为$ans$,扫完后再后从头暴力扫到尾找重复次数为$ans$的 ...
- Openjudge-计算概论(A)-第二个重复出现的数
描述: 给定一个正整数数组(元素的值都大于零),输出数组中第二个重复出现的正整数,如果没有,则输出字符串"NOT EXIST". 输入第一行为整数m,表示有m组数据.其后每组数据分 ...
- 【poj3693-重复次数最多的连续重复子串】后缀数组
题意:给定一个串,长度<=10^5,求它重复次数最多的连续重复子串(输出字典序最小的那个). 例如ccabcabc,答案就是abcabc 一开始没想清楚,结果调了好久. 原理: 按照L划分,因为 ...
- Java查找数组重复元素,并打印重复元素、重复次数、重复元素位置
面试题查找重复元素并打印重复次数和重复位置,一顿懵逼,回来死磕写下来,打印指定重复次数和最大次数,其他在此基础上可以再更新 package sort; import org.testng.annota ...
- spoj687 后缀数组重复次数最多的连续重复子串
REPEATS - Repeats no tags A string s is called an (k,l)-repeat if s is obtained by concatenating k& ...
- 找出字符串中第一个不重复的字符(JavaScript实现)
如题~ 此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达. //找出字符串中第一个不重复的字符 // firstUniqueChar("vdctdvc"); --& ...
- OpenJudge计算概论-第二个重复出现的数
/*======================================================================== 第二个重复出现的数 总时间限制: 1000ms 内 ...
- POJ-3693-Maximum repetition substring(后缀数组-重复次数最多的连续重复子串)
题意: 给出一个串,求重复次数最多的连续重复子串 分析: 比较容易理解的部分就是枚举长度为L,然后看长度为L的字符串最多连续出现几次. 既然长度为L的串重复出现,那么str[0],str[l],str ...
随机推荐
- WinSpy涉及的windows api
WinSpy涉及的windows api WinSpy是仿造微软Spy++的开源项目,但只涉及Spy++的窗口句柄.窗口的属性.styles.类名子窗口.进程线程信息等查找功能.功能虽然不算强大,但涉 ...
- Angularjs directive全面解读(1.4.5)
说到Angularjs directive即指令,可以这么说Angularjs的灵魂就是指令,学会Angularjs指令那么你的Angularjs的武功就修炼了一半了,当然这只是鄙人的一点点独到见解, ...
- 折腾一天,终于配置好了,ssl证书,启用了https,用的阿里云ECS服务器
阿里云ECS服务器配置了ssl证书, httpd-ssl.conf 的配置很重要,网站目录一定要设置正确. 阿里云的虚拟空间,弹性Web,目前好像还不支持ssl证书. 最后要网站强制https,下面 ...
- PHP中 post 与get的区别 详细说明
1.Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,如[url]http://www.jincaib.c ...
- java 移位运算
移位运算 :将整数转化为二进制(以补码的形式),按位平移. << 左移 >> 右移 >>> 无符号右移 << 右移: 按位做平 ...
- win7远程连接ubuntu14.04.1桌面
sudo apt-get install xdrp sudo apt-get install vnc4server tightserver sudo apt-get install xfce4 ech ...
- hadoop 读取文件的两种方式
1.操作javaAPI方式 static{ URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); } public stat ...
- 【LeetCode】24. Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...
- Android onConfigurationChanged的作用
API原文说明: android:configChangesLists configuration changes that the activity will handle itself. When ...
- UVALive 6948 Jokewithpermutation 深搜
题意就是把一段序列拆成从1到n的形式 一开始暴力了一下 后来发现bug太多一定是思路不对…… #include<stdio.h> #include<iostream> #inc ...