状态转移方程 dp[i][j] = 1 + dp[i-1][j-1] if str1[i] == str[j],这里的 dp[i][j]具体是代表什么? 百度几乎所有文章都说 dp[i][j]表示 str1[1..i]和 str2[1..j]的最长公共子串的长度,但是这明显是不对的, 如果有 str1 = "abce", str2 = "abe", 那么按对 dp 的定义,有 dp[2][1] = 2,此时 str1[3] = str2[2], dp[3][2] = dp[2][1] + 1 = 3,这不就错了吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.