1143.最長公共子序列
1143. 最長公共子序列 - 力扣(LeetCode)
思路:dp數組含義是以i-1和j-1為結尾的最長公共子序列。當text1[i - 1] = text2[i - 1], dp[i][j] = dp[i - 1][j - 1] +1; 否則dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]); 因為兩種情況都有可能出現較大值。遍歷順序是從左到右,從上到下。
1035.不相交的線
1035. 不相交的線 - 力扣(LeetCode)
思路:【1143.最長公共子序列】的另一種表達方式,內核完全一樣。
53. 最大子序和
53. 最大子數組和 - 力扣(LeetCode)
思路:dp[i]的狀態是加入或不加入nums[i]:dp[i] = max(dp[i - 1] + nums[i], nums[i]。
392.判斷子序列
392. 判斷子序列 - 力扣(LeetCode)
思路:和【1143.最長公共子序列】類似(情況更簡單),當s[i - 1] == t[j - 1]那么dp[i][j] = dp[i - 1][j - 1] + 1;否則dp[i][j] = dp[i][j - 1];因為只有t能刪元素。