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 |