1143.最长公共子序列:关于两个数组的子序列问题,通常是定义二维dp数组,并且为了简化初始化,dp[i][j]往往对于i-1和j-1的下表。和上一题718最长重复子数组很类似,区别在于子序列可以不连续,如果比较中字符不相等,要继承dp[i][j-1]的值或者dp[i-1][j]的值。
1035.不相交的线:和上面最长公共子序列完全一致呀,就是题目换了个说法。
53.最大子数组和:之前写过贪心的写法。动态规划思路更好理解,注意这题的dp数组定义是包括了i这一位元素的,因此最好的result需要遍历出数组中最大的值,是个易错点。
392.判断子序列:这题还是和1143最长公共子序列完全一致哇!区别在于在发现元素不同时,只需要删除较长的数组里的元素,保留较短数组的元素。