class Solution:
    def findLength(self, A, B) -> int:
        if not A or not B:
            return 0
        m = len(A)
        n = len(B)
        dp = [[0 for _ in range(m + 1)] for _ in range(n+1)]
        for i in range(1,n+1):
            for j in range(1, m+1):
                if A[j-1] != B[i-1]:
                    dp[i][j] = max(dp[i-1][j], dp[i][j-1])
                else:
                    dp[i][j] = dp[i-1][j-1] + 1
        return dp[n][m]

sol = Solution()
re = sol.findLength([0,1,1,1,1],[1,0,1,0,1])
print(re)