| Topics |
Questions |
| Arrays |
Maximum and Minimum Element in an Array |
| Arrays |
Reverse the Array |
| Arrays |
Maximum-Subarray |
| Arrays |
Contains Duplicate |
| Arrays |
Chocolate Distribution Problem |
| Arrays |
Search in Rotated Sorted Array |
| Arrays |
Next Permutation |
| Arrays |
Best time to Buy and Sell Stock |
| Arrays |
Repeat and Missing Number Array |
| Arrays |
Kth-Largest Element in an Array |
| Arrays |
Trapping Rain Water |
| Arrays |
Product of Array Except Self |
| Arrays |
Maximum Product Subarray |
| Arrays |
Find Minimum in Rotated Sorted Array |
| Arrays |
Find Pair with Sum in Sorted & Rotated Array |
| Arrays |
3Sum |
| Arrays |
Container With Most Water |
| Arrays |
Given Sum Pair |
| Arrays |
Kth – Smallest Element |
| Arrays |
Merge Overlapping Intervals |
| Arrays |
Find Minimum Number of Merge Operations to Make an Array Palindrome |
| Arrays |
Given an Array of Numbers Arrange the Numbers to Form the Biggest Number |
| Arrays |
Space Optimization Using Bit Manipulations |
| Arrays |
Subarray Sum Divisible K |
| Arrays |
Print all Possible Combinations of r Elements in a Given Array of Size n |
| Arrays |
Mo’s Algorithm |
| |
|
| |
|
| Strings |
Valid Palindrome |
| Strings |
Valid Anagram |
| Strings |
Valid parentheses |
| Strings |
Remove Consecutive Characters |
| Strings |
Longest Common Prefix |
| Strings |
Convert a Sentence into its Equivalent Mobile Numeric Keypad Sequence |
| Strings |
Print all the Duplicates in the Input String |
| Strings |
Longest Substring without Repeating Characters |
| Strings |
Longest Repeating Character Replacement |
| Strings |
Group Anagrams |
| Strings |
Longest Palindromic Substring |
| Strings |
Palindromic Substrings |
| Strings |
Next Permutation |
| Strings |
Count Palindromic Subsequences |
| Strings |
Smallest Window in a String Containing all the Characters of Another String |
| Strings |
Wildcard String Matching |
| Strings |
Longest Prefix Suffix |
| Strings |
Rabin-Karp Algorithm for Pattern Searching |
| Strings |
Transform One String to Another using Minimum Number of Given Operation |
| Strings |
Minimum Window Substring |
| Strings |
Boyer Moore Algorithm for Pattern Searching |
| Strings |
Word Wrap |
| |
|
| |
|
| 2D Arrays |
Zigzag (or diagonal) Traversal of Matrix |
| 2D Arrays |
Set Matrix Zeroes |
| 2D Arrays |
Spiral Matrix |
| 2D Arrays |
Rotate Image |
| 2D Arrays |
Word Search |
| 2D Arrays |
Find the Number of Islands | Set 1 (Using DFS) |
| 2D Arrays |
Given a Matrix of ‘O’ and ‘X’, Replace ‘O’ with ‘X’ if Surrounded by ‘X’ |
| 2D Arrays |
Find a Common Element in all Rows of a Given Row-Wise Sorted Matrix |
| 2D Arrays |
Create a Matrix with Alternating Rectangles of O and X |
| 2D Arrays |
Maximum Size Rectangle of all 1s |
| |
|
| |
|
| Searching & Sorting |
Permute Two Arrays such that Sum of Every Pair is Greater or Equal to K |
| Searching & Sorting |
counting sort |
| Searching & Sorting |
find common elements three sorted arrays |
| Searching & Sorting |
Searching in an array where adjacent differ by at most k |
| Searching & Sorting |
ceiling in a sorted array |
| Searching & Sorting |
Piar with given difference |
| Searching & Sorting |
majority element |
| Searching & Sorting |
count triplets with sum smaller that a given value |
| Searching & Sorting |
Maximum Sum Subsequence with no adjacent elements |
| Searching & Sorting |
Merge Sorted Arrays using O(1) Space |
| Searching & Sorting |
Inversion of Array |
| Searching & Sorting |
Find Duplicates in O(n) Time and O(1) Extra Space |
| Searching & Sorting |
Radix Sort |
| Searching & Sorting |
Product of Array except itself |
| Searching & Sorting |
Make all Array Elements Equal |
| Searching & Sorting |
Check if Reversing a Sub Array Make the Array Sorted |
| Searching & Sorting |
Find Four Elements that Sum to a Given Value |
| Searching & Sorting |
Median of Two Sorted Array with Different Size |
| Searching & Sorting |
Median of Stream of Integers Running Integers |
| Searching & Sorting |
Print Subarrays with 0 Sum |
| Searching & Sorting |
Aggressive Cows |
| Searching & Sorting |
Allocate Minimum number of Pages |
| Searching & Sorting |
Minimum Swaps to Sort |
| |
|
| |
|
| Backtracking |
Backtracking Set 2 Rat in a Maze |
| Backtracking |
Combinational Sum |
| Backtracking |
Crossword-Puzzle |
| Backtracking |
Longest Possible Route in a Matrix with Hurdles |
| Backtracking |
Printing all solutions in N-Queen Problem |
| Backtracking |
Solve the Sudoku |
| Backtracking |
Partition Equal Subset Sum |
| Backtracking |
M Coloring Problem |
| Backtracking |
Knight Tour |
| Backtracking |
Soduko |
| Backtracking |
Remove Invalid Parentheses |
| Backtracking |
Word Break Problem using Backtracking |
| Backtracking |
Print all Palindromic Partitions of a String |
| Backtracking |
Find Shortest Safe Route in a Path with Landmines |
| Backtracking |
Partition of Set into K Subsets with Equal Sum |
| Backtracking |
Backtracking set-7 hamiltonian cycle |
| Backtracking |
tug-of-war |
| Backtracking |
Maximum Possible Number by doing at most K swaps |
| Backtracking |
Backtracking set-8 solving cryptarithmetic puzzles |
| Backtracking |
Find paths from corner cell to middle cell in maze |
| Backtracking |
Arithmetic Expressions |
| |
|
| |
|
| Linked List |
Reverse Linked List |
| Linked List |
Linked List Cycle |
| Linked List |
Merge Two Sorted Lists |
| Linked List |
Delete without Head node |
| Linked List |
Remove duplicates from an unsorted linked list |
| Linked List |
Sort a linked list of 0s-1s-or-2s |
| Linked List |
Multiply two numbers represented linked lists |
| Linked List |
Remove nth node from end of list |
| Linked List |
Reorder List |
| Linked List |
Detect and remove loop in a linked list |
| Linked List |
Write a Function to get the Intersection Point of two Linked Lists |
| Linked List |
Flatten a linked list with next and child pointers |
| Linked List |
Linked list in zig-zag fashion |
| Linked List |
Reverse a doubly linked list |
| Linked List |
Delete nodes which have a greater value on right side |
| Linked List |
Segregate even and odd Elements in a Linked List |
| Linked List |
Point to next higher value node in a linked list with an Arbitrary Pointer |
| Linked List |
Rearrange a given linked list in place |
| Linked List |
Sort Biotonic Doubly Linked Lists |
| Linked List |
Merge K Sorted Lists |
| Linked List |
Merge sort for linked list |
| Linked List |
Quicksort on singly-linked list |
| Linked List |
Sum of two linked lists |
| Linked List |
Flattening a linked list |
| Linked List |
Clone a linked list with next and random Pointer |
| Linked List |
Subtract two numbers represented as linked lists |
| |
|
| |
|
| Stacks & Queues |
Implement two stacks in an Array |
| Stacks & Queues |
Evaluation of Postfix Expression |
| Stacks & Queues |
Implement Stack using Queues |
| Stacks & Queues |
Queue Reversal |
| Stacks & Queues |
Implement Stack Queue using Deque |
| Stacks & Queues |
Reverse first k elements of queue |
| Stacks & Queues |
Design Stack with Middle Operation |
| Stacks & Queues |
Infix to Postfix |
| Stacks & Queues |
Design and Implement Special stack |
| Stacks & Queues |
Longest Valid String |
| Stacks & Queues |
Find if an expression has duplicate parenthesis or not |
| Stacks & Queues |
Stack permutations check if an array is stack permutation of other |
| Stacks & Queues |
Count natural numbers whose permutation greater number |
| Stacks & Queues |
Sort a stack using Recursion |
| Stacks & Queues |
Queue based approach for first non repeating character in a stream |
| Stacks & Queues |
The Celebrity Problem |
| Stacks & Queues |
Next larger Element |
| Stacks & Queues |
Distance of nearest cell |
| Stacks & Queues |
Rotten-oranges |
| Stacks & Queues |
Next smaller element |
| Stacks & Queues |
Circular-tour |
| Stacks & Queues |
Efficiently implement k-stacks single array |
| Stacks & Queues |
The celebrity problem |
| Stacks & Queues |
Iterative tower of hanoi |
| Stacks & Queues |
Find the maximum of minimums for every window size in a given array |
| Stacks & Queues |
lru cache implementation |
| Stacks & Queues |
Find a tour that visits all stations |
| |
|
| |
|
| Greedy |
Activity selection problem greedy algo |
| Greedy |
Greedy algorithm to find minimum number of coins |
| Greedy |
Minimum sum two numbers formed digits array-2 |
| Greedy |
Minimum sum absolute difference pairs two arrays |
| Greedy |
Find maximum height pyramid from the given array of objects |
| Greedy |
Minimum cost for acquiring all coins with k extra coins allowed with every coin |
| Greedy |
Find maximum equal sum of every three stacks |
| Greedy |
Job sequencing problem |
| Greedy |
Greedy algorithm egyptian fraction |
| Greedy |
Fractional knapsack problem |
| Greedy |
Maximum length chain of pairs |
| Greedy |
Find smallest number with given number of digits and digit sum |
| Greedy |
Maximize sum of consecutive differences circular-array |
| Greedy |
paper-cut minimum number squares |
| Greedy |
Lexicographically smallest array-k consecutive swaps |
| Greedy |
Problems-CHOCOLA |
| Greedy |
Find minimum time to finish all jobs with given constraints |
| Greedy |
Job sequencing using disjoint set union |
| Greedy |
Rearrange characters string such that no two adjacent are same |
| Greedy |
Minimum edges to reverse to make path from a source to a destination |
| Greedy |
Minimize Cash Flow among a given set of friends who have borrowed money from each other |
| Greedy |
Minimum Cost to cut a board into squares |
| |
|
| |
|
| Binary Trees |
Maximum Depth of Binary Tree |
| Binary Trees |
Reverse Level Order Traversal |
| Binary Trees |
Subtree of Another Tree |
| Binary Trees |
Invert Binary Tree |
| Binary Trees |
Binary Tree Level Order Traversal |
| Binary Trees |
Left View of Binary Tree |
| Binary Trees |
Right View of Binary Tree |
| Binary Trees |
ZigZag Tree Traversal |
| Binary Trees |
Create a mirror tree from the given binary tree |
| Binary Trees |
Leaf at same level |
| Binary Trees |
Check for Balanced Tree |
| Binary Trees |
Transform to Sum Tree |
| Binary Trees |
Check if Tree is Isomorphic |
| Binary Trees |
Same Tree |
| Binary Trees |
Construct Binary Tree from Preorder and Inorder Traversal |
| Binary Trees |
Height of Binary Tree |
| Binary Trees |
Diameter of a Binary Tree |
| Binary Trees |
Top View of Binary Tree |
| Binary Trees |
Bottom View of Binary Tree |
| Binary Trees |
Diagonal Traversal of Binary Tree |
| Binary Trees |
Boundary Traversal of binary tree |
| Binary Trees |
Construct Binary Tree from String with Brackets |
| Binary Trees |
Minimum swap required to convert binary tree to binary search tree |
| Binary Trees |
Duplicate subtree in Binary Tree |
| Binary Trees |
Check if a given graph is tree or not |
| Binary Trees |
Lowest Common Ancestor in a Binary Tree |
| Binary Trees |
Min distance between two given nodes of a Binary Tree |
| Binary Trees |
Duplicate Subtrees |
| Binary Trees |
Kth ancestor of a node in binary tree |
| Binary Trees |
Binary Tree Maximum Path Sum |
| Binary Trees |
Serialize and Deserialize Binary Tree |
| Binary Trees |
Binary Tree to DLL |
| Binary Trees |
Print all k-sum paths in a binary tree |
| |
|
| |
|
| Binary Search Trees |
Lowest Common Ancestor of a Binary Search Tree |
| Binary Search Trees |
Binary Search Tree | Set 1 (Search and Insertion) |
| Binary Search Trees |
Minimum element in BST |
| Binary Search Trees |
Predecessor and Successor |
| Binary Search Trees |
Check whether BST contains Dead End |
| Binary Search Trees |
Binary Tree to BST |
| Binary Search Trees |
Kth largest element in BST |
| Binary Search Trees |
Validate Binary Search Tree |
| Binary Search Trees |
Kth Smallest Element in a BST |
| Binary Search Trees |
Delete Node in a BST |
| Binary Search Trees |
Flatten BST to sorted list |
| Binary Search Trees |
Preorder to Postorder |
| Binary Search Trees |
Count BST nodes that lie in a given range |
| Binary Search Trees |
Populate Inorder Successor for all Nodes |
| Binary Search Trees |
Convert Normal BST to Balanced BST |
| Binary Search Trees |
Merge two BSTs |
| Binary Search Trees |
Given n appointments, find all conflicting appointments |
| Binary Search Trees |
Replace every element |
| Binary Search Trees |
Construct BST from given preorder traversal |
| Binary Search Trees |
Find median of BST in O(n) time and O(1) space |
| Binary Search Trees |
Largest BST in a Binary Tree |
| |
|
| |
|
| Heaps & Hashing |
Choose k array elements such that difference of maximum and minimum is minimized |
| Heaps & Hashing |
Heap Sort |
| Heaps & Hashing |
Top K Frequent Elements |
| Heaps & Hashing |
k largest elements in an array |
| Heaps & Hashing |
Next Greater Element |
| Heaps & Hashing |
K’th Smallest/Largest Element in Unsorted Array |
| Heaps & Hashing |
Find the maximum repeating number in O(n) time and O(1) extra space |
| Heaps & Hashing |
K-th smallest element after removing some integers from natural numbers |
| Heaps & Hashing |
Find k closest elements to a given value |
| Heaps & Hashing |
K’th largest element in a stream |
| Heaps & Hashing |
Connect Ropes |
| Heaps & Hashing |
Cuckoo Hashing |
| Heaps & Hashing |
Itinerary from a List of Tickets |
| Heaps & Hashing |
Largest Subarray with 0 Sum |
| Heaps & Hashing |
Count distinct elements in every window of size k |
| Heaps & Hashing |
Group Shifted Strings |
| Heaps & Hashing |
Merge K Sorted lists |
| Heaps & Hashing |
Find Median from Data Stream |
| Heaps & Hashing |
Sliding Window Maximum |
| Heaps & Hashing |
Find the smallest positive number |
| Heaps & Hashing |
Find Surpasser Count of each element in array |
| Heaps & Hashing |
Tournament Tree and Binary Heap |
| Heaps & Hashing |
Check for palindrome |
| Heaps & Hashing |
Length of the largest subarray with contiguous elements |
| Heaps & Hashing |
Palindrome Substring Queries |
| Heaps & Hashing |
Subarray distinct elements |
| Heaps & Hashing |
Find the recurring function |
| Heaps & Hashing |
K maximum sum combinations from two arrays |
| |
|
| |
|
| Graphs |
BFS |
| Graphs |
DFS |
| Graphs |
Flood Fill Algorithm |
| Graphs |
Number of Triangles |
| Graphs |
Detect cycle in a graph |
| Graphs |
Detect cycle in an undirected graph |
| Graphs |
Rat in a Maze Problem |
| Graphs |
Steps by Knight |
| Graphs |
Clone graph |
| Graphs |
Number of Operations to Make Network Connected |
| Graphs |
Dijkstra’s shortest path algorithm |
| Graphs |
Topological Sort |
| Graphs |
Oliver and the Game |
| Graphs |
Minimum time taken by each job to be completed given by a Directed Acyclic Graph |
| Graphs |
Find whether it is possible to finish all tasks or not from given dependencies |
| Graphs |
Find the number of islands |
| Graphs |
Prim’s Algo |
| Graphs |
Negative Weighted Cycle |
| Graphs |
Floyd Warshall |
| Graphs |
Graph Coloring |
| Graphs |
Snakes and Ladders |
| Graphs |
Kosaraju’s Theorem |
| Graphs |
Journey to moon |
| Graphs |
Vertex Cover |
| Graphs |
M Coloring Problem |
| Graphs |
Cheapest Flights Within K Stops |
| Graphs |
Find if there is a path of more than k length from a source |
| Graphs |
Bellman Ford |
| Graphs |
Bipartitie Graph |
| Graphs |
Word-Ladder |
| Graphs |
Allen Dictionary |
| Graphs |
Kruskals MST |
| Graphs |
Total number spanning trees graph |
| Graphs |
Travelling Salesman |
| Graphs |
Find longest path directed acyclic graph |
| Graphs |
Two Clique Problem |
| Graphs |
Minimise the cash flow |
| Graphs |
Chinese postman |
| Graphs |
Water Jug |
| Graphs |
Water Jug 2 |
| |
|
| |
|
| Tries |
Construct a trie from scratch |
| Tries |
Print unique rows in a given boolean matrix |
| Tries |
Word Break Problem | (Trie solution) |
| Tries |
Given a sequence of words, print all anagrams together |
| Tries |
Find shortest unique prefix for every word in a given list |
| Tries |
Implement a Phone Directory |
| |
|
| |
|
| DP |
Knapsack with Duplicate Items |
| DP |
BBT counter |
| DP |
Reach a given score |
| DP |
Maximum difference of zeros and ones in binary string |
| DP |
Climbing Stairs |
| DP |
Permutation Coefficient |
| DP |
Longest Repeating Subsequence |
| DP |
Pairs with specific difference |
| DP |
Longest subsequence-1 |
| DP |
Coin Change |
| DP |
LIS |
| DP |
Longest Common Subsequence |
| DP |
Word Break |
| DP |
Combination Sum IV |
| DP |
House Robber |
| DP |
Houe Robber 2 |
| DP |
Decode Ways |
| DP |
Unique Paths |
| DP |
Jumps Game |
| DP |
Knapsack Problem |
| DP |
nCr |
| DP |
Catalan Number |
| DP |
Edit Distance |
| DP |
Subset Sum |
| DP |
Gold mine |
| DP |
Assembly Line Scheduling |
| DP |
Maximize The Cut Segments |
| DP |
Maximum sum increasing subsequence |
| DP |
Count all subsequences having product less than K |
| DP |
Maximum sum increasing subsequence |
| DP |
Egg dropping puzzle |
| DP |
Max length chain |
| DP |
Largest Square in Matrix |
| DP |
Maximum Path Sum |
| DP |
Minimum Number of Jumps |
| DP |
Minimum removals from array to make max – min <= K |
| DP |
Longest Common Substring |
| DP |
Partition Equal Subset Sum |
| DP |
Longest Palindromic Subsequnce |
| DP |
Count Palindromic Subsequences |
| DP |
Longest Palindromic Substring |
| DP |
Longest Alternating Sequence |
| DP |
Weighted Job Scheduling |
| DP |
Coin Game |
| DP |
Coin Game Winner |
| DP |
Optimal Strategy for a game |
| DP |
Word Wrap |
| DP |
Mobile numeric keypad |
| DP |
Maximum Length of Pair Chain |
| DP |
Matrix Chain Multiplication |
| DP |
Maximum profit by buying and selling a share at most twice |
| DP |
Optimal BST |
| DP |
Largest Submatrix with sum 0 |
| DP |
Largest area rectangular sub-matrix with equal number of 1’s and 0’s |
| |
|
| |
|
| Bit Manipulation |
Count set bits in an integer |
| Bit Manipulation |
Find the two non-repeating elements in an array of repeating elements |
| Bit Manipulation |
Program to find whether a no is power of two |
| Bit Manipulation |
Find position of the only set bit |
| Bit Manipulation |
Count number of bits to be flipped to convert A to B |
| Bit Manipulation |
Count total set bits in all numbers from 1 to n |
| Bit Manipulation |
Copy set bits in a range |
| Bit Manipulation |
Calculate square of a number without using *, / and pow() |
| Bit Manipulation |
Divide two integers without using multiplication, division and mod operator |
| Bit Manipulation |
Power Set |
| |
|
| |
|
| Segment Trees |
Range Sum Query – Immutable |
| Segment Trees |
Range Minimum Query |
| Segment Trees |
Range Sum Query – Mutable |
| Segment Trees |
Create Sorted Array through Instructions |
| Segment Trees |
Count of Range Sum |
| Segment Trees |
Count of Smaller Numbers After Self |