日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

北大OJ百练——4073:最长公共字符串后缀(C语言)

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 北大OJ百练——4073:最长公共字符串后缀(C语言) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

剛剛看到一道北大的OJ題,很簡單的一道題。原題如下(偷個懶,直接截圖):



看完這道題,我想大家都和我一樣覺得這道題很簡單,事實也是如此,畢竟通過率很高。

我先來說一下我的思路吧。我是想先把這些所有的字符串都得到,然后再去比較相鄰的兩個字符串相同后綴。

也就是第0個和第1個比較,第1個和第2個比較,第2個和第3個比較。。。。。如此反復比較了N-1次。

不過我們要求的是所有的字符串中的最長后綴,那么我們還差的一步就是比較得到這些字符中最短的一個,在這個程序中我是用一個參數在記錄后綴的長度來實現最長的一個后綴。原因也很簡單,因為既然是相同后綴,那么這個后綴一定是大家都有的,既然大家都有,那我隨便用哪一個都不會有什么妨礙。那不妨就用第0個字符串來取得從第strlen(str[0])-minBackwards到第strlen(str[0])-1個就行了。如下是我的代碼:

<span style="font-family:Courier New;font-size:18px;">#include <stdio.h> #include <string.h> #define MAXLENGTH 200// 比較兩個字符串的最長后綴 int compareSuffix(char a[], char b[]) {int len_a, len_b;len_a = strlen(a);len_b = strlen(b);int backwards = 0;int pa, pb;// 取兩個字符串最短的為標準來從后向前遍歷for (pa = len_a-1, pb = len_b-1; (pa >= 0)&&(pb >= 0); --pa, --pb){if(a[pa] == b[pb]){++backwards;}else break;}return backwards; }int main() {int n, i;while(scanf("%d", &n)!=0){char str[MAXLENGTH][MAXLENGTH];// 輸入n個字符串for(i = 0; i < n; ++i){scanf("%s", str[i]);}int backwards = 0;int minBackwards = 300;// 依次比較兩個字符串的相同后綴,找出最短的那個相同后綴for (i = 0; i < n - 1; ++i){backwards = compareSuffix(str[i], str[i+1]); if (backwards <= minBackwards)minBackwards = backwards;} if(minBackwards){for (i = strlen(str[0])-minBackwards; i < strlen(str[0]); ++i){printf("%c", str[0][i]);}} printf("\n");}return 0; }</span><span style="font-family:SimSun;font-size:18px;"> </span>
不過很遺憾,報了一個錯,Output Limit Exceeded

現在分析可能是時間上出了問題,可是當我修改了代碼之后發現還是同樣的錯誤。于是,我再去看代碼,感覺還是沒有錯的。上網查了一下,發現可能是我的while()循環出了問題,于是我就用上面的代碼來測試了一下,果然不出所料。當我在第一次輸入0的時候就出現了亂碼,如果是前幾次正常,那么后來輸入0的時候,不會退出。

于是我就把while()循環中的語句修改了一下:

<span style="font-family:SimSun;font-size:18px;"> </span><span style="font-family:Courier New;font-size:18px;">while(1){scanf("%d", &n);if(!n) break;......................}</span>
雖然這樣修改后可以通過,不過我還是不太清楚為什么之前的代碼就是一個Output Limit Exceeded

如果你看到了我這篇博客,并且知道這是為什么,可以給我評論留言。大家一起探討一下。


原題連接:4073:最長公共字符串后綴(Longest String Postfix)








總結

以上是生活随笔為你收集整理的北大OJ百练——4073:最长公共字符串后缀(C语言)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费观看一级一片 | 日韩中文字幕在线看 | 久热精品在线视频 | 97成人人妻一区二区三区 | 黑人3p波多野结衣在线观看 | 国产精品一区二区小说 | 午夜啪视频| 人妖ts福利视频一二三区 | 国产在线资源 | 毛片在线看网站 | 秋霞视频在线 | 激情小说亚洲色图 | 伊人222成人综合网 亚洲日本中文 | 国产在线免费 | 亚洲美女一级片 | 波多野结衣在线一区二区 | 亚洲综合网在线观看 | 日本特黄一级 | 欧美成人免费一级 | 蜜臀少妇久久久久久久高潮 | 亚欧洲精品视频在线观看 | 日韩一级视频在线观看 | 国产精品呦呦 | 中文字幕精品久久久久人妻红杏ⅰ | 日韩欧美国产综合 | 亚洲偷偷自拍 | 成人xxxxx | 国产大屁股喷水视频在线观看 | 五月婷婷六月香 | 亚洲精品福利在线观看 | 蜜桃av噜噜一区二区三区小说 | 综合一区二区三区 | 欧美日韩电影一区二区三区 | 国产精品成人免费 | 久久精品国产亚洲AV熟女 | 久久久久久亚洲精品 | 欧美bdsm调教视频 | 国产精品一区二区在线观看 | 欧美一区二区人人喊爽 | 国产激情久久久久久熟女老人av | 日韩三区在线 | 日韩人妻无码一区二区三区 | 日韩激情视频在线观看 | 亚洲AV无码成人精品国产一区 | 一区二区精品国产 | 伊人天天操 | 国产毛片精品国产一区二区三区 | 国产露脸国语对白在线 | 久久99网 | 男女黄色录像 | 成人区视频 | 日本精品黄| 久久中文在线 | 福利片第一页 | 中国av片| 91一二区 | 日日淫| 国产精品久久久久久一区二区三区 | 久久综合成人 | 亚洲国产精品天堂 | 国产精品麻豆果冻传媒在线播放 | 久久阁| 本庄优花番号 | 日韩欧美中文字幕一区 | 日本色图片 | 亚洲av无码国产精品永久一区 | 色噜噜日韩精品欧美一区二区 | 在线观看污视频网站 | 亚洲人做受 | 国产哺乳奶水91在线播放 | 中文字幕欧美另类精品亚洲 | 青青草亚洲 | 射射射综合网 | 亚洲午夜无码av毛片久久 | 91久久精品夜夜躁日日躁欧美 | 肉丝美足丝袜一区二区三区四 | 人人干夜夜操 | 国产女人18毛片水真多1 | 91成人品| 大胸喷奶水www视频妖精网站 | 精品免费久久久 | 久久9966 | jizzjizz在线播放 | 精品亚洲国产成av人片传媒 | 亚洲无在线观看 | 欧美暧暧视频 | 精品一区二区不卡 | 7x7x7x人成影视 | 蜜乳av中文字幕 | 91久久在线观看 | 亚洲欧洲一区二区 | 欧美一级黄色片在线观看 | 日产毛片 | 黄色片子免费 | www.欧美在线 | 91老师片黄在线观看 | 国产视频1区 | av色图片 | 亚洲国产精品18久久久久久 |