Skip to content

Commit 16e233d

Browse files
committed
p1035
1 parent d8e62da commit 16e233d

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

Diff for: leetcode/algorithms/p1035_uncrossed_lines.py

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import collections
2+
from typing import List
3+
4+
5+
class Solution:
6+
def maxUncrossedLines(self, nums1: List[int], nums2: List[int]) -> int:
7+
dp = collections.defaultdict(int)
8+
m, n = len(nums1), len(nums2)
9+
10+
for i in range(m):
11+
for j in range(n):
12+
dp[i, j] = max(dp[i - 1, j - 1] + (nums1[i] == nums2[j]), dp[i - 1, j], dp[i, j - 1])
13+
14+
return dp[m - 1, n - 1]

Diff for: tests/algorithms/p1035_uncrossed_lines_test.py

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import unittest
2+
from leetcode.algorithms.p1035_uncrossed_lines import Solution
3+
4+
5+
class TestUncrossedLines(unittest.TestCase):
6+
def test_uncrossed_lines(self):
7+
solution = Solution()
8+
9+
self.assertEqual(2, solution.maxUncrossedLines([1, 4, 2], [1, 2, 4]))
10+
self.assertEqual(3, solution.maxUncrossedLines(
11+
[2, 5, 1, 2, 5], [10, 5, 2, 1, 5, 2]))
12+
self.assertEqual(2, solution.maxUncrossedLines(
13+
[1, 3, 7, 1, 7, 5], [1, 9, 2, 5, 1]))

0 commit comments

Comments
 (0)