题意:输入一堆数字 看一堆数中最少有多少个上升子串(不连续的子串) 1个数字 单独也算一个子串
思路:
每个串去掉一串最长的 再去掉一串次长的。。。。。
到最后肯定剩下某个出现次数最多的数字 所以本题就是找那个数字出现的最多 最多的次数是多少
肯定用map喽
#include<stdio.h>
#include<map>
using namespace std;
int main()
{
__int64 i,n,max;
map<__int64,__int64>mp;
while(scanf("%I64d",&n)!=EOF){
mp.clear();
while(n--){
scanf("%I64d",&i);
mp[i]++;
}
map<__int64,__int64>::iterator it;
max=0;
for(it=mp.begin();it!=mp.end();it++)
if(max<it->second) max=it->second;
printf("%I64d\n",max);
}
return 0;
}

本文探讨了一种方法,通过使用map数据结构来统计数字序列中连续上升子串的频率,并找出出现频率最高的子串。该方法涉及遍历序列、使用map进行计数,最终确定最高频率。
533

被折叠的 条评论
为什么被折叠?



