给定两个字符串,请编写代码,输出最长公共子串(Longest Common Substring),是指两个字符串中的最长的公共子串,要求子串一定是连续。
数据范围:输入的两个字符串长度满足
package main import ( "fmt" "strings" ) func main() { var s string fmt.Scan(&s) ss:=strings.Split(s,",") m,n:=len(ss[0]),len(ss[1]) mat:=make([][]int,m+1) for i,_:=range mat{ mat[i]=make([]int,n+1) } max:=0 for i:=0;i<m;i++{ for j:=0;j<n;j++{ if ss[0][i]==ss[1][j]{ mat[i+1][j+1]=mat[i][j]+1 if mat[i+1][j+1]>max{ max=mat[i+1][j+1] } } } } fmt.Print(max) }