LeetCode-1035 不相交的线
Table of Contents
LeetCode-1035 不相交的线 #
Solution 1 #
要求相同值的连线不能相交, 实质上就是要求按顺序匹配. 这道题本质上就是求最长公共子序列. 代码如下:
class Solution:
def maxUncrossedLines(self, nums1: List[int], nums2: List[int]) -> int:
@cache
def f(i, j):
if i < 0 or j < 0:
return 0
if nums1[i] == nums2[j]:
return f(i - 1, j - 1) + 1
return max(f(i - 1, j), f(i, j - 1))
return f(len(nums1) - 1, len(nums2) - 1)