Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def solution(n, m, arr1, arr2):
- d = {}
- def _lcs(i, j):
- if d.get((i, j), None):
- return d[(i, j)]
- if i >= n or j >= m:
- res = 0
- elif arr1[i] == arr2[j]:
- res = 1 + _lcs(i+1, j+1)
- else:
- res = max(_lcs(i, j+1), _lcs(i+1, j))
- d[(i, j)] = res
- return res
- return _lcs(0, 0)
- n = int(input())
- arr1 = list(map(int, input().split()))
- m = int(input())
- arr2 = list(map(int, input().split()))
- print(solution(n, m, arr1, arr2))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement