Leecode1143: 最长公共子序列(不是子数组!)

这道题是一个动态规划的题目,注定了时间复杂度是O(n^2),思路就是从第一位开始往右比较(假设第i位是开头,对应的第二个字符串有多少个字符是匹配的呢?),一看就是使用动态规划的方法。

dp的含义是,前面i个字符和前面j个字符有多少公共字符串

但是这道题和之前不太一样的就是,不需要连续的,只需要一部分中有最多相等即可,所以最重要的是最后一位,并且不要考虑优化时间复杂度,没可能,并且dp[0]的位置一般要空出来!

Leecode1143: 最长公共子序列(不是子数组!)_第1张图片

你可能感兴趣的:(刷题日记,leetcode)