在上两篇文章中,我们将 暴力递归 逐步修改成为 动态规划 ,并介绍了有严格 dp表依赖 和无表依赖结构的解题方法。其中,前篇文章中的纸牌博弈问题属于 [L , R]
上范围尝试模型。该模型给定一个范围,在该范围上进行尝试,套路就是 思考 [L ,R]
两端该如何取舍。
本篇文章我们学习一个新的模型: 样本对应模型,该模型的套路就是 以结尾位置为出发点,思考两个样本的结尾都会产生哪些可能性 。
力扣1143:最长公共子序列
给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。
一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。
两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。
示例 1:
输入: text1 = “abcde”, text2 = “ace”