小樂樂匹配字串
阿新 • • 發佈:2018-12-03
連結:https://ac.nowcoder.com/acm/contest/301/E
來源:牛客網
題目描述
小樂樂有字串str1,str2。
小樂樂想要給他們找朋友。
小樂樂想知道在這兩個字串中最多能匹配出多長的相同子串(可非連續)。
輸入描述:
第一行輸入字串str1; 第二行輸入字串str2; 資料保證字串長度小於1000,且非空,字串僅由小寫字母組成。
輸出描述:
輸出最長相同子串的長度。
示例1
輸入
asd ad
輸出
2
分析:找到兩個字串的公共最長子串,模板題。
程式碼如下:
#include<stdio.h> #include<string.h> int dp[1010][1010]={0}; int max(int a,int b) { if(a>b) return a; else return b; } int main() { char s1[1010],s2[1010]; int l1,l2,i,j; scanf("%s%s",s1,s2); l1=strlen(s1); l2=strlen(s2); for(i=1;i<=l1;i++) { for(j=1;j<=l2;j++) { if(s1[i-1]==s2[j-1]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } printf("%d\n",dp[l1][l2]); return 0; }