- Arrays and Strings
- Sliding Window
- Pattern + Template
- Fixed Window Size
- Fixed Window Size Template
- Substrings of Size K with Distinct Characters
- 1456. Maximum Number of Vowels in a Substring of Given Length
- Maximum Number of occurrences of Substring
- 643. Maximum Average Subarray I
- Maximum Points You Can Obtain from Cards
- Find All The Anagrams in a String
- Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold
- Variable Window Size
- Variable Window Size Template
- Template to solve substring problems
- Longest Substring Without Repeating Window
- Longest Repeating Character Replacement
- Sliding Window Maximum ☆
- Minimum Window Maximum
- Minimum Size Subarray Sum
- Minimum consecutive cards to pick
- Subarrays with K Different Integers
- Fruit Into Baskets
- Two Pointers
- 2 Sum problem
- 238. Product of Array Except Self
- 1071. Greatest Common Divisor of Strings
- 345. Reverse Vowels of a String
- 443. String Compression
- Majority Element - (revise) Moore Voting Algorithm
- Merge Intervals
- Sliding Window
- Prefix Sum
- Hash Map and Set
- Stack
- Queue
- Linked List (TODO)
- Binary Tree 1
- Binary Search Tree
- Graphs
- Count-the-number-of-complete-components
- DFS
- BFS
- Detect Cycle in a graph
- is Graph Bipartite
- Dijkstra Algorithm
- Bellman Ford
- Prims Algorithm (Greedy Algorithm) (MST → Tree connecting all the edges with minimum total cost edges)
- Topological Sort
- Course Schedule
- Course Schedule II - Just return the topologicalOrder array in the answer.
- Alien Dictionary
- Minimum Height Trees
- Floyd Warshall
- DisJoint Set ☆
- Heap / Priority Queue
- Binary Search
- Binary Search Template
- Easy
- Advanced Application: NOTE ☆
- First and Last Position Of An Element In A Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array II
- Minimum in rotated sorted array
- Minimum in rotated sorted array II
- Find Minimum in Rotated Sorted Array
- Find Peak Element ☆
- Binary Search on Answers
- Backtracking
- DP - 1D
- DP - 2D or DP on Grids
- DP on Subsequences/Subsets (Elements do not have to be contiguous) !mportant: subsets may not follow the relative order but subsequences do
- Dp on Strings
- DP on Stocks
- Bit Manipulation
- Trie
- Intervals
- Monotonic Stack