Camelcase Matching LeetCode solution in Python
1class Solution:2def camelMatch(self, queries: List[str], pattern: str) -> List[bool]:3res, N = [], len(pattern)45for query in queries:67if (8self.upLetter(query) != self.upLetter(pattern)9or self.LCS(query, pattern) != N10):11res.append(False)1213else:14res.append(True)1516return res1718def LCS(self, A, B):19N, M = len(A), len(B)20d = [[0 for _ in range(M + 1)] for _ in range(N + 1)]2122for i in range(1, N + 1):23for j in range(1, M + 1):2425if A[i - 1] == B[j - 1]:26d[i][j] = 1 + d[i - 1][j - 1]2728else:29d[i][j] = max(d[i - 1][j], d[i][j - 1])30return d[-1][-1]3132def upLetter(self, w):33count = 034for c in w:35if c.isupper():36count += 137return count