Day 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)] ...Apr 1, 2024路1 min read
Day 44 of LeetCodeDocumenting LeetCode solving. Q119 518. Coin Change II Medium. 2D DP Spent a lot of time drawing the grid. class Solution: def change(self, amount: int, coins: List[int]) -> int: dp = [[0] * (amount + 1) for _ in range(len(coins) + 1)] ...Mar 19, 2024路1 min read
Day 43 of LeetCodeDocumenting LeetCode solving. Q117 127. Word Ladder Hard. Graph BFS class Solution: def ladderLength(self, beginWord: str, endWord: str, wordList: List[str]) -> int: if endWord not in wordList: return 0 nei = collecti...Mar 18, 2024路2 min read
Day 42 of LeetCodeDocumenting LeetCode solving. Q116 210. Course Schedule II Medium. Graph Topological sort. class Solution: def findOrder(self, numCourses: int, prerequisites: List[List[int]]) -> List[int]: prereq = { c:[] for c in range(numCourses) } ...Mar 14, 2024路1 min read
Day 41 of LeetCodeDocumenting LeetCode solving. Q114 994. Rotting Oranges Medium. Graph class Solution: def orangesRotting(self, grid: List[List[int]]) -> int: # BFS q = deque() time, fresh = 0, 0 ROWS, COLS = len(grid), len(grid[0...Mar 12, 2024路2 min read
Day 40 of LeetCodeDocumenting LeetCode solving. Q112 695. Max Area of Island Medium. Graph class Solution: def maxAreaOfIsland(self, grid: List[List[int]]) -> int: ROWS, COLS = len(grid), len(grid[0]) visit = set() # return the area ...Mar 8, 2024路2 min read
Day 39 of LeetCodeDocumenting LeetCode solving. Q110 207. Course Schedule Medium. Graph class Solution: def canFinish(self, numCourses: int, prerequisites: List[List[int]]) -> bool: # {crs : [pres]} preMap = {i : [] for i in range(numCourses)} ...Mar 7, 2024路2 min read