# language: python. you can already see from the repo, but this was a laborious choice coupled with my unique circumstance and future goals. GPT5 deeply researched the matter for 7 minutes. pros: - syntax is easy - harder to bonk in interviews - easy access to data structures, unlike typescript - relates well to my longer term Machine Learning Engineer goals # problems: ## arrays - [X] 169. Majority Element - [X] 238. Product of Array Except Self - [X] 41. First Missing Positive ## strings - [X] 392. Is Subsequence - [X] 151. Reverse Words in a String ## bit manipulation - [X] 338. Counting Bits - [X] 260. Single Number III ## hash tables - [X] 49. Group Anagrams - [X] 128. Longest Consecutive Sequence ## two pointers - [X] 11. Container With Most Water - [X] 15. 3Sum - [X] 01. 2Sum - [X] 169. Two Sum II - [ ] 3Sum Smaller - [ ] 3Sum Closest - [ ] 42. Trapping Rain Water ## prefix sum - [ ] 325. Subarray Sum Equals K ## sliding window - fixed size - [ ] 438. Find All Anagrams in a String - [ ] 567. Permutation in String ## sliding window - dynamic size - [ ] 3. Longest Substring Without Repeating Characters - [ ] 76. Minimum Window Substring ## kadane's algorithm - [ ] 53. Maximum Subarray ## matrix (2d array) - [ ] 54. Spiral Matrix - [ ] 48. Rotate Image ## linked list - [ ] 19. Remove Nth Node From End of List - [ ] 24. Swap Nodes in Pairs - [X] 2. Add Two Numbers ## linked list (in place reversal) - [ ] 25. Reverse Nodes in k-Group ## fast and slow pointers - [ ] 142. Linked List Cycle II ## stacks - [ ] 20. Valid Parentheses - [ ] 155. Min Stack ## monotonic stack - [ ] 84. Largest Rectangle in Histogram ## monotonic queue - [ ] 239. Sliding Window Maximum ## quicksort / quickselect - [ ] 75. Sort Colors ## binary search - [ ] 34. Find First and Last Position of Element in Sorted Array - [ ] 33. Search in Rotated Sorted Array - [ ] 4. Median of Two Sorted Arrays ## backtracking - [ ] 46. Permutations - [ ] 78. Subsets ## tree traversal (level-order) - [ ] 102. Binary Tree Level Order Traversal - [ ] 199. Binary Tree Right Side View ## tree traversal (pre-order) - [ ] 144. Binary Tree Preorder Traversal - [ ] 437. Path Sum III - [ ] 297. Serialize and Deserialize Binary Tree ## tree traversal (in-order) - [ ] 94. Binary Tree Inorder Traversal - [ ] 98. Validate Binary Search Tree - [ ] 230. Kth Smallest Element in a BST ## tree traversal (post-order) - [ ] 145. Binary Tree Postorder Traversal - [ ] 236. Lowest Common Ancestor of a Binary Tree - [ ] 124. Binary Tree Maximum Path Sum ## BST / ordered set - [ ] 729. My Calendar I ## tries - [ ] 1804. Implement Trie (Prefix Tree) - [ ] 212. Word Search II ## two heaps - [ ] 295. Find Median from Data Stream ## top k elements - [ ] 347. Top K Frequent Elements ## intervals - [ ] 56. Merge Intervals - [ ] 435. Non-overlapping Intervals ## k-way merge - [ ] 23. Merge k Sorted Lists ## data structure design - [ ] 146. LRU Cache ## greedy - [ ] 45. Jump Game II ## depth first search (dfs) - [ ] 200. Number of Islands - [ ] 133. Clone Graph - [ ] 785. Is Graph Bipartite? ## breadth first search (bfs) - [ ] 994. Rotting Oranges - [ ] 127. Word Ladder ## topological sort - [ ] 210. Course Schedule II ## union find - [ ] 547. Number of Provinces ## minimum spanning tree (mst) - [ ] 1584. Min Cost to Connect All Points ## shortest path - [ ] 787. Cheapest Flights Within K Stops ## 1-d dynamic programming (dp) - [ ] 213. House Robber II ## knapsack dynamic programming (dp) - [ ] 416. Partition Equal Subset Sum ## unbounded knapsack dp - [ ] 322. Coin Change ## longest increasing subsequence (dp) - [ ] 300. Longest Increasing Subsequence ## 2d (grid) DP - [ ] 64. Minimum Path Sum - [ ] 329. Longest Increasing Path in a Matrix ## string dp - [ ] 1143. Longest Common Subsequence - [ ] 139. Word Break ## maths / geometry - [ ] 7. Reverse Integer - [ ] 149. Max Points on a Line