Solution1 dp
时间复杂度 O(m * n)
空间复杂度 O(m * n)
dp[i][j] 表示 nums1 中前 i 个数字和 nums2 中前 j 个数组可以组成最多直线数量
转移方程:
dp[i][j] = dp[i-1][j-1] + 1, if nums[i] == nums[j]
dp[i][j] = max(dp[i-1][j], dp[i][j-1]), if nums[i] != nums[j]
若 nums[i] != nums[j],说明他们中至少一个不能对结果做出贡献,取其中最大值
Last updated