- A lot of leetcode problems with their most optimal solutions explained in detail!
Title | Recommended Order # | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|---|
Plus One | 1 | 66 | Easy | Array | Python / Go / Dart / Rust / Javascript |
Two Sum | 2 | 1 | Easy | Array, Hash Map | Python / Go / Kotlin / Dart / Rust / Javascript |
Valid Parentheses | 3 | 20 | Easy | Array, Stack | Python / Go |
Maximum Subarray | 4 | 53 | Easy | Array | Python / Go / Dart |
First Unique Character in a String | 5 | 387 | Easy | Array, Hash Map | Python / Go / Javascript / Dart |
Move Zeroes | 6 | 283 | Easy | Array, Pointer | Python / Go |
Find Pivot Index | 7 | 724 | Easy | Array, Sliding Window | Python / Go / Kotlin |
Best Time to Buy and Sell Stock | 8 | 122 | Easy | Array | Python |
Shortest Word Distance | 9 | 243 | Easy | Array | Python |
ZigZag Conversion | 10 | 6 | Medium | Array | Python |
First Missing Positive | 11 | 41 | Hard | Array | Python |
Spiral Matrix | 12 | 54 | Medium | Array | Python |
Sorted Two Sum | 13 | 167 | Easy | Array | Python |
K-diff Pairs in an Array | 14 | 532 | Easy | Array, Hash Map | Python |
K Difference Uniqie Pairs | 15 | - | Easy | Array | Python |
Increasing Triplet Subsequence | 16 | 334 | Medium | Array | Python |
Find First and Last Position of Element in Sorted Array | 17 | 34 | Medium | Array, Binary Search | Python |
Merge Intervals | 18 | 56 | Easy | Array | Python |
Valid Sudoku | 19 | 36 | Medium | Array, Hash Map | Python |
Three Sum | 20 | - | Medium | Array, Two Sum | Python |
Maximum Size Subarray Sum Equals K | 21 | 325 | Medium | Array, Two Sum | Python |
Product of Array Except Self | 22 | 238 | Medium | Array | Python |
Trapping Rain Water | 23 | 42 | Hard | Array, Two Pointer | Python |
Longest Consecutive Sequence | 24 | 128 | Hard | Array | Python |
Top K Frequent Elements | 25 | 347 | Medium | Array, Counting Sort, Hashmap, Heap | Python |
Title | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|
First Unique Character in a String | 387 | Easy | String, Hash Map | Python / Javascript / Dart |
Reverse Words in String | 344 | Easy | String | Python |
Reverse Words in String II | 557 | Easy | String | Python |
Strobogrammatic Number | 246 | Easy | String | Python |
Valid Anagram | 242 | Easy | Hash Map | Python |
Compare Version Number | 165 | Easy | String | Python |
String To Integer | 8 | Medium | String | Python |
One Edit Distance | 161 | Medium | String, Dynamic Programming | Python |
Add Binary | 67 | Easy | String, Recursion | Python |
Longest Palindromic Substring | 5 | Medium | String | Python |
Longest Substring Without Repeating Characters | 3 | Medium | String | Python |
Text Justification | 68 | Hard | String, Scheduling | Python |
Minimum Window Substring | 76 | Hard | String, Sliding Window | Python |
Title | Recommended Order # | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|---|
Binary Tree Inorder Traversal | 1 | 94 | Easy | Tree, Recursive, Iterative | Python |
Insert into a Binary Search Tree | 2 | - | Easy | Tree | Python |
Preorder Traversal | 3 | - | Easy | Tree traversal | Python |
Postorder Traversal | 3 | - | Medium | Tree traversal | Python |
Inorder Successor | 4 | 285 | Medium | Tree traversal | Python |
Closest Binary Search Tree Value | 5 | Easy | 270 | BST Search | Python |
Binary Tree Level Order Traversal | 6 | 102 | Medium | BFS | Python |
Validate Binary Search Tree | 7 | 98 | Medium | DFS, Recursion | Python |
Same Tree | 9 | 100 | Easy | Recursion | Python |
Invert Binary Tree | 10 | 226 | Easy | Recursion | Python |
Symmetric Tree | 11 | 101 | Easy | Tree | Python |
Univalued Binary Tree | 12 | 965 | Easy | Tree | Python |
Kth Smallest Element in a BST | 13 | 230 | Medium | Tree | Python |
Path Sum | 14 | 112 | Easy | DFS, Recursion | Python |
Minimum Depth of Binary Tree | 15 | 111 | Easy | Tree | Python |
Sum Root to Leaf Numbers | 16 | 129 | Medium | DFS, Recursion | Python |
Flatten Binary Tree to Linked List | 17 | 114 | Medium | Recursion | Python |
Convert BST to Greater Tree | 18 | 538 | Easy | BFS | Python |
Binary Tree Zigzag Level Order Traversal | 19 | 103 | Medium | BFS | Python |
Populating Next Right Pointers in Each Node | 20 | 116 | Medium | BFS | Python |
Binary Tree Maximum Path Sum | 21 | 124 | Hard | DFS, Recursion | Python |
Delete Nodes And Return Forest | 22 | 1110 | Medium | DFS, Recursion | Python |
Binary Search Tree to Greater Sum Tree | 23 | 1038 | Medium | In Order | Python |
Title | Recommended Order # | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|---|
Reverse Linked List | 1 | 206 | Easy | Linked List | Python |
Merge Linked List | 2 | - | Easy | Linked List, Recursion | Python |
Add Two Numbers | 3 | 2 | Medium | Linked List | Python |
Delete Node From Linked List | 4 | 237 | Easy | Linked List | Python |
Merge k Sorted Lists | 5 | 23 | Hard | Linked List, Heap | Python |
Title | Recommended Order # | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|---|
Decode String | 1 | 394 | Medium | Stack | Python |
Title | Recommended Order # | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|---|
Meeting Rooms II | 1 | 253 | Medium | Heap | Python |
Title | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|
Number of 1 Bits | 191 | Easy | Bitwise | Python / C |
Hamming Distance | 461 | Easy | Bitwise | Python |
Single Number | 91 | Easy | Bitwise | Python |
Title | Recommended Order # | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|---|
Number Of Islands | 1 | 200 | Medium | Depth First Search | Python / C |
Flood Fill | 2 | 733 | Easy | Depth First Search | Python |
Graph Valid Tree | 3 | 261 | Easy | Graph | Python |
Number of Connected Components in an Undirected Graph | 4 | 323 | Medium | Depth First Search | Python |
Topological Sort | 5 | - | Medium | Graph | Python |
Validate DAG | 6 | - | Medium | Graph | Python |
Redundant Connection | 7 | 684 | Medium | Graph | Python |
Course Schedule | 8 | 207 | Medium | Top Sort | Python |
Course Schedule II | 9 | 210 | Medium | Top Sort | Python |
Title | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|
Merge Sort | - | Easy | Sorting, Recursion | Python |
Title | Recommended Order # | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|---|
Find First and Last Position of Element in Sorted Array | 1 | 34 | Medium | Binary Search | Python |
Search in Rotated Sorted Array | 2 | 33 | Medium | Binary Search | Python |
Title | Recommended Order # | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|---|
Pow(x, n) | 1 | 50 | Medium | Divide and Conquer, Recursion | Python |
Number of Inversions | - | - | Medium | Divide and Conquer | Python |
Majority Element | - | - | Medium | Divide and Conquer | Python |
Title | Recommended Order # | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|---|
Climbing Stairs | 1 | 70 | Easy | Dynamic Programming | Python |
Coin Change 2 | 2 | 518 | Medium | Dynamic Programming | Python |
Decode Ways | 3 | 91 | Medium | Dynamic Programming, Top Down | Python |
Unique Paths | 4 | 62 | Medium | Dynamic Programming, Top Down | Python |
Delete Operation for Two Strings | 5 | 583 | Medium | Dynamic Programming | Python |
Edit Distance | 6 | 72 | Hard | Dynamic Programming, Top Down | Python |
Longest Common Subsequence | 7 | 1143 | Hard | Dynamic Programming, Bottom Up | Python |
Maximum Length of Repeated Subarray | 8 | 718 | Medium | Dynamic Programming, Bottom Up, Longest Common Subarray | Python |
Title | Recommended Order # | Leetcode # | Difficulty | Tags | Solution |
---|---|---|---|---|---|
LRU Cache | 1 | 146 | Medium | Linked List, Hashmap | Python |