1143. 最长公共子序列
作者:互联网
✅做题思路or感想
经典子序列问题,都适合用动态规划来解
子序列默认不连续,子数组默认连续!
dp数组含义
子序列的题一般都这样子定义dp数组:dp[i][j]
表示在test1
的[0, i - 1]
和test2
的[0, j - 1]
上最长的子序列长度(注意这里是范围里的最长子序列长度!)
为什么要这样子定义呢,因为这样子更方便针对空子数组做操作,比如dp[0][0]
根据意义是nums1[-1],nums2[-1]
,而这本是无意义的,这里就把这个看作空的子数组
递推公式
判断单个字符是有两种可能