給出若干個字串,輸出這些字串的最長公共字尾。
輸入格式
由若干組輸入組成。
每組輸入的第一行是乙個整數n。
n為0時表示輸入結束,否則後面會繼續有n行輸入,每行是乙個字串(字串內不含空白符)。
每個字串的長度不超過200。
輸出格式
共一行,為n個字串的最長公共字尾(可能為空)。
資料範圍
1≤n≤200
輸入樣例:
3
baba
abacba2aa
cc2aaa
0
輸出樣例:
ba
a
ac**:
#include
#include
#include
#include
using
namespace std;
int n;
intmain()
int ans=1;
bool flag=
true
;while
(flag&&ans<=minnum)}if
(flag)
ans++
;else
ans--;}
if(ans>minnum)
ans=minnum;
if(ans==0)
printf
("\n");
else
}return0;
}
最長公共字串
include include include include include customer.h using namespace std 最長公共字串 動態規劃 假設需要求得字串為str1,str2。函式f m,n 分別為 str1 m str2 n 結尾的公共字串長度。有以下遞推公式 遞推邊界...
最長公共字串
牛客網的題目鏈結 對於兩個字串,請設計乙個時間複雜度為o m n 的演算法 這裡的m和n為兩串的長度 求出兩串的最長公共子串的長度。這裡的最長公共子串的定義為兩個序列u1,u2,un和v1,v2,vn,其中ui 1 ui 1,vi 1 vi 1,同時ui vi。給定兩個字串a和b,同時給定兩串的長度...
最長公共字串和最長公共子串行
給出兩個字串,找到最長公共子串,並返回其長度。建立乙個矩陣來儲存兩個字串出現相同字元的地方,比如 abccd 和 abcefc 就有 abccd a10000 b02000 c00300 e00040 f00000 c00100 這樣就有每次遇到相等的都加上下他的斜上方的位置的值,然後使用乙個max...