蓝桥杯:字串统计
来源:互联网 发布:java基础教程电子书 编辑:程序博客网 时间:2024/04/28 01:02
题目:
给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。
输入格式
第一行一个数字L。
第二行是字符串S。
L大于0,且不超过S的长度。
输出格式
一行,题目要求的字符串。
输入样例1:
4
bbaabbaaaaa
输出样例1:
bbaa
输入样例2:
2
bbaabbaaaaa
输出样例2:
aa
数据规模和约定
n<=60
S中所有字符都是小写英文字母。
提示
枚举所有可能的子串,统计出现次数,找出符合条件的那个
代码:
#include<iostream>#include<cstring>using namespace std;int main(){ int l,a[61][61]; cin>>l; string s,s1,s2; cin>>s; int len=s.length(); for(int k=l;k<=len;k++) /*字符的长度*/ { for(int i=0;i<=len-k;i++) /*字符的所有的可能*/ { int c=1; s1=s.substr(i,k); for(int j=i+1;j<=len-k;j++) /*需要比较的字符*/ { s2=s.substr(j,k); if(s1==s2) { c++; } } a[k][i]=c; } } /*a[k][i]:从s[i]的长度为k的字符 的个数*/ int x=l,y=0; for(int k=l;k<=len;k++) { for(int i=0;i<=len-k;i++) { if(a[k][i]>=a[x][y] ) /*找出个数最多的字符*/ { if(a[k][i]>a[x][y]) { x=k; y=i; } else if(a[k][i]==a[x][y]) /*如果个数相同,那么选择长度大的*/ { if(k>x) { x=k; y=i; } } } } } cout<<s.substr(y,x)<<endl; return 0;}
0 0
- 【蓝桥杯训练】字串统计
- 字串统计 --- 蓝桥杯
- 蓝桥杯 - 字串统计
- 蓝桥杯—字串统计
- 蓝桥杯:字串统计
- java 蓝桥杯 字串统计
- 蓝桥杯 字串统计
- 蓝桥杯 算法训练 字串统计
- 蓝桥杯 算法训练 字串统计
- 蓝桥杯--算法训练 字串统计
- 蓝桥杯 算法训练 字串统计
- 字串统计——蓝桥杯
- 蓝桥杯 算法训练 字串统计
- 蓝桥杯 算法训练 字串统计
- 蓝桥杯——字串统计
- 蓝桥杯-字串统计(java)
- 蓝桥杯 算法训练 字串统计
- [蓝桥杯]算法训练 字串统计
- gson 使用讲解
- 使用Hibernate集成shiro的时候,同时使用Ehcahce出现异常
- 《欢乐颂》-圈子不同,不必强融,自有剧本玩弄
- Invalid MEX-file "caffe_.mexa" 的解决方法
- 找出在长输入串A1A2……AN中串P1P2……PK的第一次出现
- 蓝桥杯:字串统计
- 基数排序算法
- Hibernate对象的三种状态
- HDU 5683 zxa and xor
- Win7环境下opensuse13.1与SLED 11 sp3的硬盘安装
- TCP连接探测中的Keepalive和心跳包. 关键字: tcp keepalive, 心跳, 保活
- java 大数据 求n!,C(m,n)
- Java实现-高效排序算法之基数排序
- Oracle 查找锁之间依赖关系的最源头SID