Preparation
Dynamic Programming
- Find number of binary trees given length of preorder sequence
- Find number of possible binary search trees given n number of keys
- Coin change Problem
- Matrix Chain Multiplication
- Staircase Climbing Problem
- Maximum sum sub-sequence of non adjacent elements
- Minimum jumps to reach end
- Stone Game VII Leetcode
- Longest Increasing Subsequence O(n^2) and O(nlogn)
- Maximise the cut segments
- Integer Break
- Count number of ways to cover a distance
- Decode String
- Longest Palindromic Subsequence
- Optimal Strategy for a Game
- 0-1 Knapsack Problem
- Partition equal subset sum
- Longest Common Subsequence
- Minimum Edit Distance
- Longest Path in a Matrix
- Word Break Problem
- Shortest Common Supersequence - Easy
- Dice Throw Problem
- Box Stacking Problem
- Egg Dropping Puzzle
- Minimum Sum Partition
- Interleaving Strings
- Bell Numbers (Hard)
- Form A Palindrome
- Palindromic Partitioning
- Maximum Profit - 2 solutions(Hard)
- Maximum Profit in Job Scheduling
- Wildcard Pattern Matching
- Delete and Earn
- Maximum Sum Circular Subarray
- Wiggle Subsequence
- Word Wrap
- Count Palindromic Subsequence
- Count Sorted Vowel Strings
- Ones And Zeroes
- Array Partition
Recursion and Backtracking
- Towers Of Hanoi Problem
- N Queens Problem
- N Queens Problem Optimised Solution
- Modular Exponentiation
- Modular Inverse Using Fremat's Theorem
Sorting and Searching
- Selection Sort
- Modified Bubble Sort
- Heap Sort
- Merge Sort
- Insertion Sort
- Quick Sort
- Randomized Quick Sort
- Stable Counting Sort
Data Structures
Graph Algorithms
- Bellman Ford
- Bipartite Graph Check
- Edge Check
- Floyd Warshall
- Kosaraju's Algorithm - SCC
- Detect Cycle in Undirected Graph
- Detect Cycle in Directed Graph
- Guard in a Bank
- Tarjans' Algorithm - SCC (Hard)
- Articulation Points
- Bridges/Critical Connections in a Graph
Trees
- Diameter Of a Binary Tree
- Sum Tree
- Serialize and Deserialize a Binary Tree
- Nodes at a given distance in Binary Tree
- Construct Tree From Inorder and Level Order
Linked Lists
Stack
- Next Greater Element
- Get Minimum Element From Stack in O(1) time
- Stock Span Problem
- The Celebrity Problem
- Maximum Rectangular Area In A Histogram
- 132 Geeky Buildings
- Maximum Of Minimum For Every Window Size
- Maximum Of All Subarrays Of Size K
Hashing
Heaps
Divide and Conquer
- Count the number of inversions in a given array
- Kth Element Of Two Sorted Arrays
- Median Of Two Sorted Arrays