题解 | #公共子串计算#

公共子串计算

http://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b

package main import ( "fmt" "bufio" "os"

)

func main() { input := bufio.NewScanner(os.Stdin) input.Scan() s := input.Text() input.Scan() t := input.Text() result := publicSubstring(s, t) fmt.Println(result) }

func publicSubstring(s, t string) int { dp := make([][]int, len(s)+1) for i := 0; i < len(s)+1; i++ { dp[i] = make([]int, len(t)+1) } result := 0 for i := 1; i <= len(s); i++ { for j := 1; j <= len(t); j++ { if s[i-1]==t[j-1] { dp[i][j] = dp[i-1][j-1]+1 } if dp[i][j] > result { result = dp[i][j] } } } return result }

全部评论

相关推荐

头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 13:38
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务