Day | Id | Title | Difficulty | Related Topics |
---|---|---|---|---|
Week 1 (2021-07-19 ~ 2021-07-25) |
||||
001 | 7 | Reverse Integer | Math | |
002 | 9 | Palindrome Number | Math | |
003 | 5 | Longest Palindromic Substring | String; Dynamic Programming | |
004 | 20 | Valid Parentheses | String; Stack | |
005 | 35 | Search Insert Position | Array; Binary Search | |
006 | 3 | Longest Substring Without Repeating Characters | Hash Table; String; Sliding Window | |
007 | 4 | Median of Two Sorted Arrays | Array; Binary Search; Divide and Conquer | |
Week 2 (2021-07-26 ~ 2021-08-01) |
||||
008 | 13 | Roman to Integer | Hash Table; Math; String | |
009 | 83 | Remove Duplicates from Sorted List | Linked List | |
010 | 12 | Integer to Roman | Hash Table; Math; String | |
011 | 100 | Same Tree | Tree; Depth-First Search; Breadth-First Search; Binary Tree | |
012 | 104 | Maximum Depth of Binary Tree | Tree; Depth-First Search; Breadth-First Search; Binary Tree | |
013 | 45 | Jump Game II | Array; Dynamic Programming; Greedy | |
014 | 64 | Minimum Path Sum | Array; Dynamic Programming; Matrix | |
Week 3 (2021-08-02 ~ 2021-08-08) |
||||
015 | 21 | Merge Two Sorted Lists | Linked List; Recursion | |
016 | 48 | Rotate Image | Array; Math; Matrix | |
017 | 2 | Add Two Numbers | Linked List; Math; Recursion | |
018 | 1 | Two Sum | Array; Hash Table | |
019 | 23 | Merge k Sorted Lists | Linked List; Divide and Conquer; Heap (Priority Queue); Merge Sort | |
020 | 387 | First Unique Character in a String | Hash Table; String; Queue; Counting | |
021 | 341 | Flatten Nested List Iterator | Stack; Tree; Depth-First Search; Design; Queue; Iterator | |
Week 4 (2021-08-09 ~ 2021-08-15) |
||||
022 | 148 | Sort List | Linked List; Two Pointers; Divide and Conquer; Sorting; Merge Sort | |
023 | 98 | Validate Binary Search Tree | Tree; Depth-First Search; Binary Search Tree; Binary Tree | |
024 | 101 | Symmetric Tree | Tree; Depth-First Search; Breadth-First Search; Binary Tree | |
025 | 49 | Group Anagrams | Hash Table; String; Sorting | |
026 | 141 | Linked List Cycle | Hash Table; Linked List; Two Pointers | |
027 | 22 | Generate Parentheses | String; Dynamic Programming; Backtracking | |
028 | 26 | Remove Duplicates from Sorted Array | Array; Two Pointers | |
Week 5 (2021-08-16 ~ 2021-08-22) |
||||
029 | 94 | Binary Tree Inorder Traversal | Stack; Tree; Depth-First Search; Binary Tree | |
030 | 326 | Power of Three | Math; Recursion | |
031 | 136 | Single Number | Array; Bit Manipulation | |
032 | 268 | Missing Number | Array; Hash Table; Math; Bit Manipulation; Sorting | |
033 | 287 | Find the Duplicate Number | Array; Two Pointers; Binary Search; Bit Manipulation | |
034 | 215 | Kth Largest Element in an Array | Array; Divide and Conquer; Sorting; Heap (Priority Queue); Quickselect | |
035 | 1039 | Find the Town Judge | Array; Hash Table; Graph | |
Week 6 (2021-08-23 ~ 2021-08-29) |
||||
036 | 121 | Best Time to Buy and Sell Stock | Array; Dynamic Programming | |
037 | 122 | Best Time to Buy and Sell Stock II | Array; Dynamic Programming; Greedy | |
038 | 123 | Best Time to Buy and Sell Stock III | Array; Dynamic Programming | |
039 | 70 | Climbing Stairs | Math; Dynamic Programming; Memoization | |
040 | 747 | Min Cost Climbing Stairs | Array; Dynamic Programming | |
041 | 55 | Jump Game | Array; Dynamic Programming; Greedy | |
042 | Binary Heap | |||
Week 7 (2021-08-30 ~ 2021-09-05) |
||||
043 | 118 | Pascal's Triangle | Array; Dynamic Programming | |
044 | 119 | Pascal's Triangle II | Array; Dynamic Programming | |
045 | 1086 | Divisor Game | Math; Dynamic Programming; Brainteaser; Game Theory | |
046 | 242 | Valid Anagram | Hash Table; String; Sorting | |
047 | 160 | Intersection of Two Linked Lists | Hash Table; Linked List; Two Pointers | |
048 | 205 | Isomorphic Strings | Hash Table; String | |
049 | 290 | Word Pattern | Hash Table; String | |
Week 8 (2021-09-06 ~ 2021-09-12) |
||||
050 | 169 | Majority Element | Array; Hash Table; Divide and Conquer; Sorting; Counting | |
051 | 350 | Intersection of Two Arrays II | Array; Hash Table; Two Pointers; Binary Search; Sorting | |
052 | 105 | Construct Binary Tree from Preorder and Inorder Traversal | Array; Hash Table; Divide and Conquer; Tree; Binary Tree | |
053 | 66 | Plus One | Array; Math | |
054 | 155 | Min Stack | Stack; Design | |
055 | 150 | Evaluate Reverse Polish Notation | Array; Math; Stack | |
056 | 227 | Basic Calculator II | Math; String; Stack | |
Week 9 (2021-09-13 ~ 2021-09-19) |
||||
057 | 1802 | Number of Students Unable to Eat Lunch | Array; Stack; Queue; Simulation | |
058 | 234 | Palindrome Linked List | Linked List; Two Pointers; Stack; Recursion | |
059 | 71 | Simplify Path | String; Stack | |
060 | 28 | Implement strStr() | Two Pointers; String; String Matching | |
061 | 168 | Excel Sheet Column Title | Math; String | |
062 | 933 | Number of Recent Calls | Design; Queue; Data Stream | |
063 | 860 | Design Circular Queue | Array; Linked List; Design; Queue | |
Week 10 (2021-09-20 ~ 2021-09-27) |
||||
064 | 239 | Sliding Window Maximum | Array; Queue; Sliding Window; Heap (Priority Queue); Monotonic Queue | |
065 | 338 | Counting Bits | Dynamic Programming; Bit Manipulation | |
066 | 392 | Is Subsequence | Two Pointers; String; Dynamic Programming | |
067 | 1769 | Get Maximum in Generated Array | Array; Dynamic Programming; Simulation | |
068 | 62 | Unique Paths | Math; Dynamic Programming; Combinatorics | |
069 | 120 | Triangle | Array; Dynamic Programming | |
070 | 53 | Maximum Subarray | Array; Divide and Conquer; Dynamic Programming | |
Week 11 (2021-09-28 ~ 2021-10-04) |
||||
071 | 561 | Array Partition I | Array; Greedy; Sorting; Counting Sort | |
072 | 46 | Permutations | Array; Backtracking | |
073 | 800 | Letter Case Permutation | String; Backtracking; Bit Manipulation | |
074 | 813 | All Paths From Source to Target | Backtracking; Depth-First Search; Breadth-First Search; Graph | |
075 | 1160 | Letter Tile Possibilities | String; Backtracking | |
076 | 1211 | Iterator for Combination | String; Backtracking; Design; Iterator | |
077 | 1516 | The k-th Lexicographical String of All Happy Strings of Length n | String; Backtracking | |
Week 12 (2021-10-05 ~ 2021-10-12) |
||||
078 | 455 | Assign Cookies | Array; Greedy; Sorting | |
079 | 605 | Can Place Flowers | Array; Greedy | |
080 | 409 | Longest Palindrome | Hash Table; String; Greedy | |
081 | 1341 | Split a String in Balanced Strings | String; Greedy; Counting | |
082 | 11 | Container With Most Water | Array; Two Pointers; Greedy | |
083 | 179 | Largest Number | String; Greedy; Sorting | |
084 | 1062 | Partition Array Into Three Parts With Equal Sum | Array; Greedy | |
Week 13 (2021-10-13 ~ 2021-10-23) |
||||
085 | 404 | Sum of Left Leaves | Tree; Depth-First Search; Breadth-First Search; Binary Tree | |
086 | 257 | Binary Tree Paths | String; Tree; Depth-First Search; Binary Tree | |
087 | 904 | Leaf-Similar Trees | Tree; Depth-First Search; Binary Tree | |
088 | 563 | Binary Tree Tilt | Tree; Depth-First Search; Binary Tree | |
089 | 1005 | Univalued Binary Tree | Tree; Depth-First Search; Breadth-First Search; Binary Tree | |
090 | 783 | Search in a Binary Search Tree | Tree; Binary Search Tree; Binary Tree | |
091 | 775 | N-ary Tree Preorder Traversal | Stack; Tree; Depth-First Search | |
Week 14 (2021-10-25 ~ 2022-01-12) |
||||
092 | 799 | Minimum Distance Between BST Nodes | Tree; Depth-First Search; Breadth-First Search; Binary Search Tree; Binary Tree | |
093 | 933 | Increasing Order Search Tree | Stack; Tree; Depth-First Search; Binary Search Tree; Binary Tree | |
094 | 1916 | Find Center of Star Graph | Graph | |
095 | 2121 | Find if Path Exists in Graph | Depth-First Search; Breadth-First Search; Graph | |
096 | 389 | Find the Difference | Hash Table; String; Bit Manipulation; Sorting | |
097 | 383 | Ransom Note | Hash Table; String; Counting | |
098 | 322 | Coin Change | Array; Dynamic Programming; Breadth-First Search | |
Week 15 (2022-01-14 ~ ) |
||||
099 | 221 | Maximal Square | Array; Dynamic Programming; Matrix | |
100 | 97 | Interleaving String | String; Dynamic Programming |