ELEvelyn Liuinevelynsjourney.hashnode.dev路Apr 1, 2024 路 1 min readDay 49 of LeetCodeDocumenting LeetCode solving. Q126 10. Regular Expression Matching Hard. DP class Solution: def isMatch(self, s: str, p: str) -> bool: dp = {} def dfs(i, j): if (i, j) in dp: return dp[(i, j)] ...00
ELEvelyn Liuinevelynsjourney.hashnode.dev路Mar 29, 2024 路 1 min readDay 48 of LeetCodeDocumenting LeetCode solving. Q125 312. Burst Balloons Hard. DP Reverse thinking. class Solution: def maxCoins(self, nums: List[int]) -> int: nums = [1] + nums + [1] dp = {} def dfs(l, r): if l > r: ...00
ELEvelyn Liuinevelynsjourney.hashnode.dev路Mar 26, 2024 路 1 min readDay 47 of LeetCodeDocumenting LeetCode solving. Q123 115. Distinct Subsequences Hard. DP class Solution: def numDistinct(self, s: str, t: str) -> int: dp = {} def dfs(i, j): if j == len(t): return 1 if i == ...00
ELEvelyn Liuinevelynsjourney.hashnode.dev路Mar 25, 2024 路 2 min readDay 46 of LeetCodeDocumenting LeetCode solving. Q121 97. Interleaving String Medium. 2D DP. class Solution: def isInterleave(self, s1: str, s2: str, s3: str) -> bool: if len(s1) + len(s2) != len(s3): return False dp = [[False] * (len(s...00
ELEvelyn Liuinevelynsjourney.hashnode.dev路Mar 22, 2024 路 1 min readDay 45 of LeetCodeDocumenting LeetCode solving. Q120 494. Target Sum Medium. DP class Solution: def findTargetSumWays(self, nums: List[int], target: int) -> int: dp = {} # (index, total) -> number of ways def backtrack(i, total): if i ...00