国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

算法訓(xùn)練 字串統(tǒng)計(jì)

2019-11-10 19:35:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  算法訓(xùn)練 字串統(tǒng)計(jì)  時(shí)間限制:1.0s   內(nèi)存限制:512.0MB    問(wèn)題描述  給定一個(gè)長(zhǎng)度為n的字符串S,還有一個(gè)數(shù)字L,統(tǒng)計(jì)長(zhǎng)度大于等于L的出現(xiàn)次數(shù)最多的子串(不同的出現(xiàn)可以相交),如果有多個(gè),輸出最長(zhǎng)的,如果仍然有多個(gè),輸出第一次出現(xiàn)最早的。輸入格式  第一行一個(gè)數(shù)字L?! 〉诙惺亲址甋?! 大于0,且不超過(guò)S的長(zhǎng)度。輸出格式  一行,題目要求的字符串?! ≥斎霕永?:  4  bbaabbaaaaa  輸出樣例1:  bbaa  輸入樣例2:  2  bbaabbaaaaa  輸出樣例2:  aa數(shù)據(jù)規(guī)模和約定  n<=60  S中所有字符都是小寫(xiě)英文字母。提示  枚舉所有可能的子串,統(tǒng)計(jì)出現(xiàn)次數(shù),找出符合條件的那個(gè)

思路:抽出子串,暴力+結(jié)構(gòu)體排序  n<=60,最多只會(huì)有1830種結(jié)果

代碼:

#include<iostream>#include<cstring>#include<cstdio>#include<string>#include<algorithm>using namespace std;const int MAXN=2000;struct node{    string str;    int len;    int cnt;    int pos;    node()    {        str="";        len=0;        cnt=0;        pos=0;    }}ans[MAXN];bool cmp(node a, node b){    if(a.cnt>b.cnt)        return true;    else if(a.cnt==b.cnt)    {        if(a.len>b.len)            return true;        else if(a.len==b.len)        {            return a.pos<b.pos;        }        else        {            return false;        }    }    else    {        return false;    }}void slove(int l, string s){    int length=s.length();    int countnumber=0;    for(int i=l;i<=length;i++)    {        for(int j=0;j<=length-i;j++)        {            string ss=s.substr(j,i);            int flag=0;            for(int k=0;k<=countnumber;k++)            {                if(ans[k].str==ss)                {                    ans[k].cnt++;                    flag=1;                    break;                }            }            if(!flag)            {                ans[countnumber].str=ss;                ans[countnumber].len=ss.length();                ans[countnumber].cnt=1;                ans[countnumber].pos=countnumber;                countnumber++;            }        }    }    sort(ans,ans+countnumber+1,cmp);    cout<<ans[0].str<<endl;}int main(){    string s;    int l;    scanf("%d",&l);    cin>>s;    slove(l,s);    return 0;}


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 台南县| 江陵县| 浙江省| 饶河县| 昂仁县| 酉阳| 淮南市| 玉门市| 屏南县| 惠安县| 始兴县| 仙桃市| 米林县| 阿坝县| 康保县| 凉山| 双桥区| 文山县| 和林格尔县| 睢宁县| 西丰县| 琼海市| 绥化市| 堆龙德庆县| 娱乐| 新田县| 蒲江县| 峨眉山市| 寻乌县| 合江县| 泽普县| 乐山市| 西丰县| 金溪县| 乳山市| 阿克陶县| 焦作市| 稷山县| 揭阳市| 五家渠市| 永城市|