This for the Interview Prepartaion for the Product Based Companies .
- Part I :: Array | Matrix String | Search and Sort
- PART II :: LinkedList | BinaryTree | BST
- Part III :: Stack and Queue | Heap
- Part IV :: Greedy | Dynamic | BackTrack
- Part V :: Trie | Graph
| Task | October | November | December |
|---|---|---|---|
| Reverse the array | |||
| Find the maximum and minimum element in an array | |||
| Find the "Kth" max and min element of an array | |||
| Given an array which consists of only 0, 1 and 2. Sort the array without using any sorting algo | |||
| Move all the negative elements to one side of the array | |||
| Find the Union and Intersection of the two sorted arrays. | |||
| Write a program to cyclically rotate an array by one. | |||
| find Largest sum contiguous Subarray [V. IMP] | |||
| Minimise the maximum difference between heights [V.IMP] | |||
| Minimum no. of Jumps to reach end of an array | |||
| find duplicate in an array of N+1 Integers | |||
| Merge 2 sorted arrays without using Extra space. | |||
| Kadane's Algo [V.V.V.V.V IMP] | |||
| Merge Intervals | |||
| Next Permutation | |||
| Count Inversion | |||
| Best time to buy and Sell stock | |||
| find all pairs on integer array whose sum is equal to given number | |||
| find common elements In 3 sorted arrays | |||
| Rearrange the array in alternating positive and negative items with O(1) extra space | |||
| Find if there is any subarray with sum equal to 0 | |||
| Find factorial of a large number | |||
| find maximum product subarray | |||
| Find longest coinsecutive subsequence | |||
| Given an array of size n and a number k, fin all elements that appear more than " n/k " times. | |||
| Maximum profit by buying and selling a share atmost twice | |||
| Find whether an array is a subset of another array | |||
| Find the triplet that sum to a given value | |||
| Trapping Rain water problem | |||
| Chocolate Distribution problem | |||
| Smallest Subarray with sum greater than a given value | |||
| Three way partitioning of an array around a given value | |||
| Minimum swaps required bring elements less equal K together | |||
| Minimum no. of operations required to make an array palindrome | |||
| Median of 2 sorted arrays of equal size | |||
| Median of 2 sorted arrays of different size |
| Task | October | November | December |
|---|---|---|---|
| Spiral traversal on a Matrix | |||
| Search an element in a matriix | |||
| Find median in a row wise sorted matrix | |||
| Find row with maximum no. of 1's | |||
| Print elements in sorted order using row-column wise sorted matrix | |||
| Maximum size rectangle | |||
| Find a specific pair in matrix | |||
| Rotate matrix by 90 degrees | |||
| Kth smallest element in a row-cpumn wise sorted matrix | |||
| Common elements in all rows of a given matrix |
| Task | October | November | December |
|---|---|---|---|
| Reverse a String | |||
| Check whether a String is Palindrome or not | |||
| Find Duplicate characters in a string | |||
| Why strings are immutable in Java? | |||
| Write a Code to check whether one string is a rotation of another | |||
| Write a Program to check whether a string is a valid shuffle of two strings or not | |||
| Count and Say problem | |||
| Write a program to find the longest Palindrome in a string.[ Longest palindromic Substring] | |||
| Find Longest Recurring Subsequence in String | |||
| Print all Subsequences of a string. | |||
| Print all the permutations of the given string | |||
| Split the Binary string into two substring with equal 0’s and 1’s | |||
| Word Wrap Problem [VERY IMP]. | |||
| EDIT Distance [Very Imp] | |||
| Find next greater number with same set of digits. [Very Very IMP] | |||
| Balanced Parenthesis problem.[Imp] | |||
| Word break Problem[ Very Imp] | |||
| Rabin Karp Algo | |||
| KMP Algo | |||
| Convert a Sentence into its equivalent mobile numeric keypad sequence. | |||
| Minimum number of bracket reversals needed to make an expression balanced. | |||
| Count All Palindromic Subsequence in a given String. | |||
| Count of number of given string in 2D character array | |||
| Search a Word in a 2D Grid of characters. | |||
| Boyer Moore Algorithm for Pattern Searching. | |||
| Converting Roman Numerals to Decimal | |||
| Longest Common Prefix | |||
| Number of flips to make binary string alternate | |||
| Find the first repeated word in string. | |||
| Minimum number of swaps for bracket balancing. | |||
| Find the longest common subsequence between two strings. | |||
| Program to generate all possible valid IP addresses from given string. | |||
| Write a program tofind the smallest window that contains all characters of string itself. | |||
| Rearrange characters in a string such that no two adjacent are same | |||
| Minimum characters to be added at front to make string palindrome | |||
| Given a sequence of words, print all anagrams together | |||
| Find the smallest window in a string containing all characters of another string | |||
| Recursively remove all adjacent duplicates | |||
| String matching where one string contains wildcard characters | |||
| Function to find Number of customers who could not get a computer | |||
| Transform One String to Another using Minimum Number of Given Operation | |||
| Check if two given strings are isomorphic to each other | |||
| Recursively print all sentences that can be formed from list of word lists | |||
| Back to Top |
| Task | October | November | December |
|---|---|---|---|
| Find first and last positions of an element in a sorted array | |||
| Find a Fixed Point (Value equal to index) in a given array | |||
| Search in a rotated sorted array | |||
| square root of an integer | |||
| Maximum and minimum of an array using minimum number of comparisons | |||
| Optimum location of point to minimize total distance | |||
| Find the repeating and the missing | |||
| find majority element | |||
| Searching in an array where adjacent differ by at most k | |||
| find a pair with a given difference | |||
| find four elements that sum to a given value | |||
| maximum sum such that no 2 elements are adjacent | |||
| Count triplet with sum smaller than a given value | |||
| merge 2 sorted arrays | |||
| print all subarrays with 0 sum | |||
| Product array Puzzle | |||
| Sort array according to count of set bits | |||
| minimum no. of swaps required to sort the array | |||
| Bishu and Soldiers | |||
| Rasta and Kheshtak | |||
| Kth smallest number again | |||
| Find pivot element in a sorted array | |||
| K-th Element of Two Sorted Arrays | |||
| Aggressive cows | |||
| Book Allocation Problem | |||
| EKOSPOJ: | |||
| Job Scheduling Algo | |||
| Missing Number in AP | |||
| Smallest number with atleastn trailing zeroes infactorial | |||
| Painters Partition Problem: | |||
| ROTI-Prata SPOJ | |||
| DoubleHelix SPOJ | |||
| Subset Sums | |||
| Findthe inversion count | |||
| Implement Merge-sort in-place | |||
| Partitioning and Sorting Arrays with Many Repeated Entries |
| Task | October | November | December |
|---|---|---|---|
| Write a Program to reverse the Linked List. (Both Iterative and recursive) | |||
| Reverse a Linked List in group of Given Size. [Very Imp] | |||
| Write a program to Detect loop in a linked list. | |||
| Write a program to Delete loop in a linked list. | |||
| Find the starting point of the loop. | |||
| Remove Duplicates in a sorted Linked List. | |||
| Remove Duplicates in a Un-sorted Linked List. | |||
| Write a Program to Move the last element to Front in a Linked List. | |||
| Add “1” to a number represented as a Linked List. | |||
| Add two numbers represented by linked lists. | |||
| Intersection of two Sorted Linked List. | |||
| Intersection Point of two Linked Lists. | |||
| Merge Sort For Linked lists.[Very Important] | |||
| Quicksort for Linked Lists.[Very Important] | |||
| Find the middle Element of a linked list. | |||
| Check if a linked list is a circular linked list. | |||
| Split a Circular linked list into two halves. | |||
| Write a Program to check whether the Singly Linked list is a palindrome or not. | |||
| Deletion from a Circular Linked List. | |||
| Reverse a Doubly Linked list. | |||
| Find pairs with a given sum in a DLL. | |||
| Count triplets in a sorted DLL whose sum is equal to given value “X”. | |||
| Sort a “k”sorted Doubly Linked list.[Very IMP] | |||
| Rotate DoublyLinked list by N nodes. | |||
| Rotate a Doubly Linked list in group of Given Size.[Very IMP] | |||
| Can we reverse a linked list in less than O(n) ? | |||
| Why Quicksort is preferred for. Arrays and Merge Sort for LinkedLists ? | |||
| Flatten a Linked List | |||
| Sort a LL of 0's, 1's and 2's | |||
| Clone a linked list with next and random pointer | |||
| Merge K sorted Linked list | |||
| Multiply 2 no. represented by LL | |||
| Delete nodes which have a greater value on right side | |||
| Segregate even and odd nodes in a Linked List | |||
| Program for n’th node from the end of a Linked List | |||
| Find the first non-repeating character from a stream of characters |
| Task | October | November | December |
|---|---|---|---|
| level order traversal | |||
| Reverse Level Order traversal | |||
| Height of a tree | |||
| Diameter of a tree | |||
| Mirror of a tree | |||
| Inorder Traversal of a tree both using recursion and Iteration | |||
| Preorder Traversal of a tree both using recursion and Iteration | |||
| Postorder Traversal of a tree both using recursion and Iteration | |||
| Left View of a tree | |||
| Right View of Tree | |||
| Top View of a tree | |||
| Bottom View of a tree | |||
| Zig-Zag traversal of a binary tree | |||
| Check if a tree is balanced or not | |||
| Diagnol Traversal of a Binary tree | |||
| Boundary traversal of a Binary tree | |||
| Construct Binary Tree from String with Bracket Representation | |||
| Convert Binary tree into Doubly Linked List | |||
| Convert Binary tree into Sum tree | |||
| Construct Binary tree from Inorder and preorder traversal | |||
| Find minimum swaps required to convert a Binary tree into BST | |||
| Check if Binary tree is Sum tree or not | |||
| Check if all leaf nodes are at same level or not | |||
| Check if a Binary Tree contains duplicate subtrees of size 2 or more [ IMP ] | |||
| Check if 2 trees are mirror or not | |||
| Sum of Nodes on the Longest path from root to leaf node | |||
| Check if given graph is tree or not. [ IMP ] | |||
| Find Largest subtree sum in a tree | |||
| Maximum Sum of nodes in Binary tree such that no two are adjacent | |||
| Print all "K" Sum paths in a Binary tree | |||
| Find LCA in a Binary tree | |||
| Find distance between 2 nodes in a Binary tree | |||
| Kth Ancestor of node in a Binary tree | |||
| Find all Duplicate subtrees in a Binary tree [ IMP ] | |||
| Tree Isomorphism Problem |
| Task | October | November | December |
|---|---|---|---|
| Fina a value in a BST | |||
| Deletion of a node in a BST | |||
| Find min and max value in a BST | |||
| Find inorder successor and inorder predecessor in a BST | |||
| Check if a tree is a BST or not | |||
| Populate Inorder successor of all nodes | |||
| Find LCA of 2 nodes in a BST | |||
| Construct BST from preorder traversal | |||
| Convert Binary tree into BST | |||
| Convert a normal BST into a Balanced BST | |||
| Merge two BST [ V.V.V>IMP ] | |||
| Find Kth largest element in a BST | |||
| Find Kth smallest element in a BST | |||
| Count pairs from 2 BST whose sum is equal to given value "X" | |||
| Find the median of BST in O(n) time and O(1) space | |||
| Count BST ndoes that lie in a given range | |||
| Replace every element with the least greater element on its right | |||
| Given "n" appointments, find the conflicting appointments | |||
| Check preorder is valid or not | |||
| Check whether BST contains Dead end | |||
| Largest BST in a Binary Tree [ V.V.V.V.V IMP ] | |||
| Flatten BST to sorted list |
| Task | October | November | December |
|---|---|---|---|
| Implement Stack from Scratch | |||
| Implement Queue from Scratch | |||
| Implement 2 stack in an array | |||
| find the middle element of a stack | |||
| Implement "N" stacks in an Array | |||
| Check the expression has valid or Balanced parenthesis or not. | |||
| Reverse a String using Stack | |||
| Design a Stack that supports getMin() in O(1) time and O(1) extra space. | |||
| Find the next Greater element | |||
| The celebrity Problem | |||
| Arithmetic Expression evaluation | |||
| Evaluation of Postfix expression | |||
| Implement a method to insert an element at its bottom without using any other data structure. | |||
| Reverse a stack using recursion | |||
| Sort a Stack using recursion | |||
| Merge Overlapping Intervals | |||
| Largest rectangular Area in Histogram | |||
| Length of the Longest Valid Substring | |||
| Expression contains redundant bracket or not | |||
| Implement Stack using Queue | |||
| Implement Stack using Deque | |||
| Stack Permutations (Check if an array is stack permutation of other) | |||
| Implement Queue using Stack | |||
| Implement "n" queue in an array | |||
| Implement a Circular queue | |||
| LRU Cache Implementationa | |||
| Reverse a Queue using recursion | |||
| Reverse the first “K” elements of a queue | |||
| Interleave the first half of the queue with second half | |||
| Find the first circular tour that visits all Petrol Pumps | |||
| Minimum time required to rot all oranges | |||
| Distance of nearest cell having 1 in a binary matrix | |||
| First negative integer in every window of size “k” | |||
| Check if all levels of two trees are anagrams or not. | |||
| Sum of minimum and maximum elements of all subarrays of size “k”. | |||
| Minimum sum of squares of character counts in a given string after removing “k” characters. | |||
| Queue based approach or first non-repeating character in a stream. | |||
| Next Smaller Element |
| Task | October | November | December |
|---|---|---|---|
| Implement a Maxheap/MinHeap using arrays and recursion. | |||
| Sort an Array using heap. (HeapSort) | |||
| Maximum of all subarrays of size k. | |||
| “k” largest element in an array | |||
| Kth smallest and largest element in an unsorted array | |||
| Merge “K” sorted arrays. [ IMP ] | |||
| Merge 2 Binary Max Heaps | |||
| Kth largest sum continuous subarrays | |||
| Leetcode- reorganize strings | |||
| Merge “K” Sorted Linked Lists [V.IMP] | |||
| Smallest range in “K” Lists | |||
| Median in a stream of Integers | |||
| Check if a Binary Tree is Heap | |||
| Connect “n” ropes with minimum cost | |||
| Convert BST to Min Heap | |||
| Convert min heap to max heap | |||
| Rearrange characters in a string such that no two adjacent are same. | |||
| Minimum sum of two numbers formed from digits of an array |
| Task | October | November | December |
|---|---|---|---|
| Activity Selection Problem | |||
| Job SequencingProblem | |||
| Huffman Coding | |||
| Water Connection Problem | |||
| Fractional Knapsack Problem | |||
| Greedy Algorithm to find Minimum number of Coins | |||
| Maximum trains for which stoppage can be provided | |||
| Minimum Platforms Problem | |||
| Buy Maximum Stocks if i stocks can be bought on i-th day | |||
| Find the minimum and maximum amount to buy all N candies | |||
| Minimize Cash Flow among a given set of friends who have borrowed money from each other | |||
| Minimum Cost to cut a board into squares | |||
| Check if it is possible to survive on Island | |||
| Find maximum meetings in one room | |||
| Maximum product subset of an array | |||
| Maximize array sum after K negations | |||
| Maximize the sum of arr[i]*i | |||
| Maximum sum of absolute difference of an array | |||
| Maximize sum of consecutive differences in a circular array | |||
| Minimum sum of absolute difference of pairs of two arrays | |||
| Program for Shortest Job First (or SJF) CPU Scheduling | |||
| Program for Least Recently Used (LRU) Page Replacement algorithm | |||
| Smallest subset with sum greater than all other elements | |||
| Chocolate Distribution Problem | |||
| DEFKIN -Defense of a Kingdom | |||
| DIEHARD -DIE HARD | |||
| GERGOVIA -Wine trading in Gergovia | |||
| Picking Up Chicks | |||
| CHOCOLA –Chocolate | |||
| ARRANGE -Arranging Amplifiers | |||
| K Centers Problem | |||
| Minimum Cost of ropes | |||
| Find smallest number with given number of digits and sum of digits | |||
| Rearrange characters in a string such that no two adjacent are same | |||
| Find maximum sum possible equal sum of three stacks |
| Task | October | November | December |
|---|---|---|---|
| Coin ChangeProblem | |||
| Knapsack Problem | |||
| Binomial CoefficientProblem | |||
| Permutation CoefficientProblem | |||
| Program for nth Catalan Number | |||
| Matrix Chain Multiplication | |||
| Edit Distance | |||
| Subset Sum Problem | |||
| Friends Pairing Problem | |||
| Gold Mine Problem | |||
| Assembly Line SchedulingProblem | |||
| Painting the Fenceproblem | |||
| Maximize The Cut Segments | |||
| Longest Common Subsequence | |||
| Longest Repeated Subsequence | |||
| Longest Increasing Subsequence | |||
| Space Optimized Solution of LCS | |||
| LCS (Longest Common Subsequence) of three strings | |||
| Maximum Sum Increasing Subsequence | |||
| Count all subsequences having product less than K | |||
| Longest subsequence such that difference between adjacent is one | |||
| Maximum subsequence sum such that no three are consecutive | |||
| Egg Dropping Problem | |||
| Maximum Length Chain of Pairs | |||
| Maximum size square sub-matrix with all 1s | |||
| Maximum sum of pairs with specific difference | |||
| Min Cost PathProblem | |||
| Maximum difference of zeros and ones in binary string | |||
| Minimum number of jumps to reach end | |||
| Minimum cost to fill given weight in a bag | |||
| Minimum removals from array to make max –min <= K | |||
| Longest Common Substring | |||
| Count number of ways to reacha given score in a game | |||
| Count Balanced Binary Trees of Height h | |||
| LargestSum Contiguous Subarray [V>V>V>V IMP ] | |||
| Smallest sum contiguous subarray | |||
| Unbounded Knapsack (Repetition of items allowed) | |||
| Word Break Problem | |||
| Largest Independent Set Problem | |||
| Partition problem | |||
| Longest Palindromic Subsequence | |||
| Count All Palindromic Subsequence in a given String | |||
| Longest Palindromic Substring | |||
| Longest alternating subsequence | |||
| Weighted Job Scheduling | |||
| Coin game winner where every player has three choices | |||
| Count Derangements (Permutation such that no element appears in its original position) [ IMPORTANT ] | |||
| Maximum profit by buying and selling a share at most twice [ IMP ] | |||
| Optimal Strategy for a Game | |||
| Optimal Binary Search Tree | |||
| Palindrome PartitioningProblem | |||
| Word Wrap Problem | |||
| Mobile Numeric Keypad Problem [ IMP ] | |||
| Boolean Parenthesization Problem | |||
| Largest rectangular sub-matrix whose sum is 0 | |||
| Largest area rectangular sub-matrix with equal number of 1’s and 0’s [ IMP ] | |||
| Maximum sum rectangle in a 2D matrix | |||
| Maximum profit by buying and selling a share at most k times | |||
| Find if a string is interleaved of two other strings | |||
| Maximum Length of Pair Chai |
| Task | October | November | December |
|---|---|---|---|
| Rat in a maze Problem | ✔️ | ||
| Printing all solutions in N-Queen Problem | ✔️ | ||
| Word Break Problem using Backtracking | ✔️ | ||
| Remove Invalid Parentheses | ✔️ | ||
| Sudoku Solver | ✔️ | ||
| m Coloring Problem | ✔️ | ||
| Print all palindromic partitions of a string | ✔️ | ||
| Subset Sum Problem | ✔️ | ||
| The Knight’s tour problem | ✔️ | ||
| Tug of War | |||
| Find shortest safe route in a path with landmines | ✔️ | ||
| Combinational Sum | ✔️ | ||
| Find Maximum number possible by doing at-most K swaps | ✔️ | ||
| Print all permutations of a string | ✔️ | ||
| Find if there is a path of more than k length from a source | ✔️ | ||
| Longest Possible Route in a Matrix with Hurdles | ✔️ | ||
| Print all possible paths from top left to bottom right of a mXn matrix | ✔️ | ||
| Partition of a set intoK subsets with equal sum | ✔️ | ||
| Find the K-th Permutation Sequence of first N natural numbers | ✔️ |
| Task | October | November | December |
|---|---|---|---|
| Construct a trie from scratch | |||
| Find shortest unique prefix for every word in a given list | |||
| Word Break Problem | (Trie solution) | ||
| Given a sequence of words, print all anagrams together | |||
| Implement a Phone Directory | |||
| Print unique rows in a given boolean matrix |
| Task | October | November | December |
|---|---|---|---|
| Create a Graph, print it | |||
| BFS | ✔️ | ||
| Create a Graph, print it | |||
| Implement BFS algorithm | |||
| Implement DFS Algo | |||
| Detect Cycle in Directed Graph using BFS/DFS Algo | |||
| Detect Cycle in UnDirected Graph using BFS/DFS Algo | |||
| Search in a Maze | |||
| Minimum Step by Knight | |||
| flood fill algo | |||
| Clone a graph | |||
| Making wired Connections | |||
| word Ladder | |||
| Dijkstra algo | |||
| Implement Topological Sort | |||
| Minimum time taken by each job to be completed given by a Directed Acyclic Graph | |||
| Find whether it is possible to finish all tasks or not from given dependencies | |||
| Find the no. of Isalnds | |||
| Given a sorted Dictionary of an Alien Language, find order of characters | |||
| Implement Kruksal’sAlgorithm | |||
| Implement Prim’s Algorithm | |||
| Total no. of Spanning tree in a graph | |||
| Implement Bellman Ford Algorithm | |||
| Implement Floyd warshallAlgorithm | |||
| Travelling Salesman Problem | |||
| Graph ColouringProblem | |||
| Snake and Ladders Problem | |||
| Find bridge in a graph | |||
| Count Strongly connected Components(Kosaraju Algo) | |||
| Check whether a graph is Bipartite or Not | |||
| Detect Negative cycle in a graph | |||
| Longest path in a Directed Acyclic Graph | |||
| Journey to the Moon | |||
| Cheapest Flights Within K Stops | |||
| Oliver and the Game | |||
| Water Jug problem using BFS | |||
| Water Jug problem using BFS | |||
| Find if there is a path of more thank length from a source | |||
| M-ColouringProblem | |||
| Minimum edges to reverse o make path from source to destination | |||
| Paths to travel each nodes using each edge(Seven Bridges) | |||
| Vertex Cover Problem | |||
| Chinese Postman or Route Inspection | |||
| Number of Triangles in a Directed and Undirected Graph | |||
| Minimise the cashflow among a given set of friends who have borrowed money from each other | |||
| Two Clique Problem |