1143. 最长公共子序列
题目链接:1143. 最长公共子序列
dp含义: nums1[0, i -1]为结尾, nums2 [0, j-1]为结尾的的最长公共子序列的长度
-
递推公式:
if(nums1[i-1] == nums2[j])dp[i][j] = dp[i - 1][j - 1] + 1
dp[i] = Math.max(dp[i][j - 1], dp[i-1][j])
-
初始化:
-
dp[0][j]和dp[i][0]
在这样的dp定义下是和空字符串去做比较所以初始化为0,这是巧妙之处所在
-
1035. 不相交的线
题目链接:1035. 不相交的线
- 数组保证顺序,约等于上一题
53. 最大子数组和
题目链接:53. 最大子数组和
- 递推公式:
dp[i] = Math.max(dp[i-1] + nums[i], nums[i])
;