30 Days Interview Preparation Plan for Freshers[2022]🎯
Day1: (Arrays)
- Sort an array of 0’s 1’s 2’s without using extra space or sorting algo
- Repeat and Missing Number
- Merge two sorted Arrays without extra space
- Kadane’s Algorithm
- Merge Overlapping Subintervals
- Find the duplicate in an array of N+1 integers.
Day2: (Arrays)
- Set Matrix Zeros
- Pascal Triangle
- Next Permutation
- Inversion of Array (Using Merge Sort)
- Stock Buy and Sell
- Ro tate Matrix
Day3: (Arrays/maths)
- Search in a 2D matrix
- Pow(X,n)
- Majority Element (>N/2 times)
- Majority Element (>N/3 times)
- Grid Unique Paths
- Reverse Pairs (Leetcode)
- Go through Puzzles from GFG** (Search on own)
Day4: (Hashing)
- 2 Sum problem
- 4 Sum problem
- Longest Consecutive Sequence
- Largest Subarray with 0 sum
- Count number of subarrays with given XOR (this clearsa lot of problems)
- Longest substring without repeat
Day5: (LinkedList)
- Reverse a LinkedList
- Find middle of LinkedList
- Merge two sorted Linked List
- Remove N-th node from back of LinkedList
- Delete a given Node when a node is given. (0(1) solution)
- Add two numbers as LinkedList
Day6: (Linked List)
- Find intersection point of Y LinkedList
- Detect a cycle in Linked List
- Reverse a LinkedList in groups of size k
- Check if a LinkedList is palindrome or not.
- Find the starting point of the Loop of LinkedList
- Flattening of a LinkedList**
- Rotate a LinkedList
Day7: (2-pointer)
- Clone a Linked List with random and next pointer
- 3 sum
- Trapping rainwater
- Remove Duplicate from Sorted array
- Max consecutive ones
Day8: (Greedy)
- N meeting in one room
- Minimum number of platforms required for a railway
- Job sequencing Problem
- Fractional Knapsack Problem
- Greedy algorithm to find minimum number of coins
- Activity Selection
- s same as N meeting in one room)
Day9: (Recursion):
- Subset Sums
- Subset-II
- Combination sum-
- Combination sum
- Palindrome Partitioning
- K-th permutation Sequence
Day10: (Recursion and Backtracking)
- Print all Permutations of a string/array
- N queens Problem
- SudokuSolver
- M coloring Problem
- Rat in a Maze
- Word Break -> print all ways
Day11 : (Binary Search)
- N-th root of an integer (use binary search) (square root, cube root, ..)
- Matrix Median
- Find the element that appears once in sorted array, and rest element appears twice (Binary search)
- Search element in a sorted and rotated array/ find pivot where it is rotated
- Median of 2 sorted arrays
- K-th element of two sorted arrays
- Allocate Minimum Number of Pages
- Aggressive Cows
Day12: (Bits Manipulation)
- Check if a number if a power of 2 or not in O(1)
- Count total set bits
- Divide Integers without / operator
- Power Set (this is very important)
- Find MSB in o(1)
- Find square of a number without using multiplication or division operators.
Day13: (Stack and Queue)
- Implement Stack Using Arrays
- Implement Queue Using Arrays
- Implement Stack using Queue (using single queue)
- Implement Queue using Stack (0(1) amortised method)
- Check for balanced parentheses
- Next Greater Element
- Sort a Stack
Day14: (Stack and Queue)
- Next Smaller Element
- LRU cache (vvvv. imp)
- LFU Cache (Hard, can be ignored)
- Largest rectangle in histogram (Do the one pass solution)
- Sliding Window maximum
- Implement Min Stack
- Rotten Orange (Using BFS)
- Stock Span Problem
- Find maximum of minimums of every window size
- The Celebrity Problem
Day15: (String)
- Reverse Words in a String
- Longest Palindrome in a string
- Roman Number to Integer and vice versa
- Implement ATOI/STRSTR
- Longest Common Prefix
- Rabin Karp
Day16: (String)
- Prefix Function/Z-Function
- KMP algo / LPS(pi) array
- Minimum characters needed to be inserted in the beginning to make it palindromic.
- Check for Anagrams
- Count and Say
- Compare version numbers
Day17: (Binary Tree)
- Inorder Traversal (with recursion and without recursion)
- Preorder Traversal (with recursion and without recursion)
- Postorder Traversal (with recursion and without recursion)
- LeftView Of Binary Tree
- Bottom View of Binary Tree
- Top View of Binary Tree
Day18: (Binary Tree)
- Level order Traversal / Level order traversal in spiral form
- Height of a Binary Tree
- Diameter of Binary Tree
- Check if Binary tree is height balanced or not
- LCA in Binary Tree
- Check if two trees are identical or not
Day 19: (Binary Tree)
- Maximum path sum
- Construct Binary Tree from inorder and preorder
- Construct Binary Tree from Inorder and Postorder
- Symmetric Binary Tree
- Flatten Binary Tree to LinkedList
- Check if Binary Tree is mirror of itself or not
Day 20: (Binary Search Tree)
- Populate Next Right pointers of Tree
- Search given Key in BST
- Construct BST from given keys.
- Check is a BT is BST or not
- Find LCA of two nodes in BST
- Find the inorder predecessor/successor of a given Key in BST.
Day21: (Binary Search Tree)
- Floor and Ceil in a BST
- Find K-th smallest and K-th largest element in BST (2 different Questions)
- Find a pair with a given sum in BST
- BST iterator
- Size of the largest BST in a Binary Tree
- Serialize and deserialize Binary Tree
Day22: (Mixed Questions)
- Binary Tree to Double Linked List
- Find median in a stream of running integers.
- K-th largest element in a stream.
- Distinct numbers in Window.
- K-th largest element in an unsorted array.
- Flood-fill Algorithm
Day23: (Graph)
- Clone a graph (Not that easy as it looks)
- DFS
- BFS
- Detect A cycle in Undirected Graph/Directed Graph
- Topo Sort
- Number of islands (Do in Grid and Graph both)
- Bipartite Check
Day24: (Graph)
- SCC(using Kosa Raju’s algo)
- Djisktra’s Algorithm
- Bellman Ford Algo
- Floyd Warshall Algorithm
- MST using Prim’s Algo
- MST using Kruskal’s Algo
Day25: (Dynamic Programming)
- Max Product Subarray
- Longest Increasing Subsequence
- Longest Common Subsequence
- 0–1 Knapsack
- Edit Distance
- Maximum sum increasing subsequence
- Matrix Chain Multiplication
Day26: (DP)
- Maximum sum path in matrix, (count paths, and similar type do, also backtrack to find
the maximum path) - Coin change
- Subset Sum
- Rod Cutting
- Egg Dropping
- Word Break
- Palindrome Partitioning (MCM Variation)
- Maximum profit in Job scheduling
Day27:
- Revise OS notes that you would have made during your sem.
- If not made notes, spend 2 or 3 days and make notes from KnowledgeGate.
Day28:
- Revise DBMS notes that you would have made during your semesters.
- If not made notes, spend 2 or 3 days and make notes from Knowledge Gate.
Day29:
- Revise CN notes, that you would have made during your sem.
- If not made notes, spend 2 or 3 days and make notes from Knowledge Gate.
Day30:
- Make a note of how will your represent your projects, and prepare all questions related to tech which you have used in your projects. Prepare a note which you can say for 3–10 minutes when he asks you that say something about the project.
The above list was prepared by Raj Vikramaditya. I have documented that sheet here.
https://github.com/SamirPaul1/DSAlgo/tree/main/30-Days-SDE-Sheet-Practice