To know the entire list and other stuffs like Projects, Resume, how to give interviews.
Watch the entire video at: TUF YouTube
Subscribe to the channel. :) (Take U forward)
(Channel run by Amazon | Media.net(Directi) | GFG) employee, CM at Codeforces and 6* at Codechef)
Adding the credits above as a lot of people were sharing this pdf without giving credits.
[x] denotes problem number x on Leetcode
📅 Day 1 (Arrays)
-
1️⃣ Find the duplicate in an array of N integers [287]
-
2️⃣ Sort an array of 0’s 1’s 2’s without using extra space or sorting algo [75]
-
3️⃣ Repeat and Missing Number [645]
-
4️⃣ Merge two sorted Arrays without extra space [21]
-
5️⃣ Kadanes Algorithm
- ✅ Github
- ✅ GeeksforGeeks
-
6️⃣ Merge Overlapping Subintervals [56]
📅 Day 2 (Arrays)
-
1️⃣ Set Matrix Zeros [73]
-
2️⃣ Pascal Triangle [118] [119]
-
3️⃣ Next Permutation [31]
-
4️⃣ Inversion of Array (Using Merge Sort)
- ✅ Github
- ✅ GeeksforGeeks
-
5️⃣ Stock Buy and Sell [121] [122] [123] [309] [188]
-
6️⃣ Rotate Matrix [48]
- ✅ Github
📅 Day 3 (Math)
-
1️⃣ Excel Column Number [168] [171]
-
2️⃣ Find n^x in log N [50]
-
3️⃣ Count trailing zeros in factorial of a number [172]
-
4️⃣ Find GCD in Log N
- ✅ Github
- ✅ GeeksforGeeks
-
5️⃣ Grid Unique Paths [62]
-
6️⃣ Go through Puzzles from GFG
📅 Day 4 (Hashing)
-
1️⃣ 2 Sum problem [1]
-
2️⃣ 4 Sum problem [18]
-
3️⃣ Longest Consecutive Sequence [128]
-
4️⃣ Longest Subarray with 0 sum
-
5️⃣ Count number of subarrays with given XOR
-
6️⃣ Longest substring without repeat [3]
📅 Day 5 (Linked List)
-
1️⃣ Reverse a Linked List [206]
-
2️⃣ Find middle of Linked List [876]
- ✅ Github
- ✅ GeeksforGeeks
-
3️⃣ Merge two sorted Linked List [21]
-
4️⃣ Remove N-th node from back of Linked List [19]
- ✅ Leetcode 19
- ✅ Leetcode
-
5️⃣ Delete a given Node when a node is given [237]
-
6️⃣ Add two numbers as Linked List [2]
📅 Day 6 (Linked List)
-
1️⃣ Find intersection point of Y Linked List [160]
-
2️⃣ Check if a Linked List is palindrome or not [234]
-
3️⃣ Reverse a Linked List in groups [25]
- ✅ Leetcode 25
- ✅ Github
-
4️⃣ Detect a cycle and removing loop [141] [142]
-
5️⃣ Flattening of a Linked List [430]
-
6️⃣ Rotate a Linked List [61]
-
7️⃣ Clone a Linked List with random and next pointer. [138]
📅 Day 7 (Pointers)
-
1️⃣ Merge two sorted Linked Lists [21]
-
2️⃣ Find the starting point of the loop [142]
-
3️⃣ 3 sum [15]
-
4️⃣ Trapping rainwater [42]
-
5️⃣ Remove Duplicate from Sorted array [26]
-
6️⃣ Max continuous number of 1’s [485] [1446]
📅 Day 8 (Greedy)
-
1️⃣ N meeting in one room [435]
-
2️⃣ Activity Selection
- ✅ GeeksforGeeks ( Similar to N meeting in one room )
-
3️⃣ Greedy algorithm to find minimum number of coins [322]
- ✅ GeeksforGeeks ( greedy won’t work )
- ✅ Leetcode 322 ( dp approach )
-
4️⃣ Fractional Knapsack Problem
-
5️⃣ Minimum number of platforms required for a railway
-
6️⃣ Job sequencing Problem
📅 Day 9 (Backtracking)
-
1️⃣ N queens Problem
- ✅ Github
- ✅ Github
- ✅ GeeksforGeeks
-
2️⃣ Sudoko
- ✅ Github
- ✅ GeeksforGeeks
-
3️⃣ M coloring Problem
- ✅ Github
- ✅ GeeksforGeeks
-
4️⃣ Rat in a Maze
- ✅ Github
- ✅ GeeksforGeeks
-
5️⃣ Print all Permutations of a string/array
-
6️⃣ Word Break (print all ways)
📅 Day 10 (Backtracking)
-
1️⃣ Combination sum-1 [39] [216]
-
2️⃣ Combination sum-2 [40]
-
3️⃣ Palindrome Partioning
-
4️⃣ Subset Sum-1 [416]
- ✅ leet 416
-
5️⃣ Subset Sum-2
-
6️⃣ K-th permutation Sequence
📅 Day 11 (Divide and Conquer)
-
1️⃣ 1/N-th root of an integer (use binary search)
-
2️⃣ Matrix Median
-
3️⃣ Find the element that appears once in sorted array, and rest element appears twice (Binary search)
-
4️⃣ Search element in a sorted and rotated array
- ✅ Github ( Find pivot by searching the smallest elements index , then apply BS )
- ✅ GeeksforGeeks
-
5️⃣ K-th element of two sorted arrays
-
6️⃣ Median of an array
📅 Day 12 (Bit Manipulation)
-
1️⃣ Check if a number if a power of 2 or not in O(1) [231]
- ✅ Github
-
2️⃣ Count total set bits [338]
-
3️⃣ Divide Integers without / operator [29]
-
4️⃣ Power Set
- ✅ Github
-
5️⃣ Find MSB in O(1)
- ✅ Github
- ✅ GeeksforGeeks
-
6️⃣ Find square of a number without using multiplication or division operators
📅 Day 13 (Stack and Queue)
-
1️⃣ Implement Stack / Implement Queue
-
2️⃣ BFS
-
3️⃣ Implement Stack using Queue
-
4️⃣ Implement Queue using Stack
-
5️⃣ Check for balanced parentheses
-
6️⃣ Next Greater Element
📅 Day 14 (Stack and Queue)
-
1️⃣ Next Smaller Element
- ✅ GeeksforGeeks ( approach similar to NGE )
-
2️⃣ LRU cache [146]
-
3️⃣ Largest rectangle in histogram
- ✅ Github
- ✅ GeeksforGeeks
-
4️⃣ Sliding Window maximum [239]
-
5️⃣ Implement Min Stack
- ✅ Github
- ✅ Github
- ✅ GeeksforGeeks
-
6️⃣ Rotten Orange (Using BFS)
- ✅ GeeksforGeeks
- ✅ Github
📅 Day 15 (String)
-
1️⃣ Reverse Words in a String
-
2️⃣ Longest Palindrome in a string [5]
-
3️⃣ Roman Number to Integer and vice versa [12][13]
-
4️⃣ Implement ATOI/STRSTR
-
5️⃣ Longest Common Prefix [14]
-
6️⃣ Rabin Karp
- ✅ Github
- ✅ GeeksforGeeks
📅 Day 16 (String)
-
1️⃣ Prefix Function/Z-Function
- ✅ Github
- ✅ GeeksforGeeks
- ✅ YouTube
-
2️⃣ KMP Algorithm
- ✅ Github
- ✅ GeeksforGeeks
-
3️⃣ Minimum characters needed to be inserted in the beginning to make it palindromic
- ✅ Github
- ✅ GeeksforGeeks
-
4️⃣ Check for Anagrams [242] [1347] [438] [49]
-
5️⃣ Count and Say [38]
-
6️⃣ Compare version numbers [165]
📅 Day 17 (Binary Tree)
-
1️⃣ Inorder Traversal [94]
-
2️⃣ Preorder Traversal [144]
-
3️⃣ Postorder Traversal [145]
-
4️⃣ Left View Of Binary Tree
-
5️⃣ Bottom View of Binary Tree
- ✅ Github
-
6️⃣ Top View of Binary Tree
- ✅ Github
📅 Day 18 (Binary Tree)
-
1️⃣ Level order Traversal / Level order traversal in spiral form [102] [103]
- ✅ Github
- ✅ Leetcode 103
-
2️⃣ Height of a Binary Tree [104]
-
3️⃣ Diameter of Binary Tree [543]
-
4️⃣ Check if Binary tree is height balanced or not [110]
-
5️⃣ LCA in Binary Tree [236]
-
6️⃣ Check if two trees are identical or not [100]
📅 Day 19 (Binary Tree)
-
1️⃣ Maximum path sum [124]
-
2️⃣ Construct Binary Tree from inorder and preorder [105]
-
3️⃣ Construct Binary Tree from Inorder and Postorder [106]
-
4️⃣ Symmetric Binary Tree [101]
-
5️⃣ Flatten Binary Tree to Linked List [114]
-
6️⃣ Check if Binary Tree is mirror of itself or not [101]
📅 Day 20 (Binary Search Tree)
-
1️⃣ Populate Next Right pointers of Tree [116]
- ✅ Leetcode 116
-
2️⃣ Search given Key in BST [700]
-
3️⃣ Construct BST from given keys [108]
-
4️⃣ Check is a BT is BST or not [98]
-
5️⃣ Find LCA of two nodes in BST [235]
-
6️⃣ Find the inorder predecessor/successor of a given Key in BST
- ✅ git tree pre_suc
- ✅ GeeksforGeeks
📅 Day 21 (Binary Search Tree)
-
1️⃣ Floor and Ceil in a BST
- ✅ Github
-
2️⃣ Find K-th smallest and K-th largest element in BST [230]
- ✅ git leet 230
- ✅ git tree kth lathe
- ✅ GeeksforGeeks
-
3️⃣ Find a pair with a given sum in BST [653]
- ✅ git leet 653
-
4️⃣ BST iterator [173]
- ✅ git leet 173
-
5️⃣ Size of the largest BST in a Binary Tree
- ✅ gitb tree largest bst in bt
- ✅ GeeksforGeeks
-
6️⃣ Serialize and deserialize Binary Tree [297]
- ✅ git 297
📅 Day 22 (Mixed Questions)
-
1️⃣ Binary Tree to Double Linked List [114] [430]
- ✅ Leetcode 114
- ✅ Leetcode 430
- ✅ Github
-
2️⃣ Find median in a stream of running integers [295]
-
3️⃣ K-th largest element in a stream [703]
-
4️⃣ Distinct numbers in Window
- ✅ Github
-
5️⃣ K-th largest element in an unsorted array [215]
-
6️⃣ Flood-fill Algorithm [733]
📅 Day 23 (Graph)
-
1️⃣ Clone a graph [133]
- ✅ Leetcode 133
- ✅ Github
-
2️⃣ DFS
- ✅ Github
-
3️⃣ BFS
- ✅ Github
-
4️⃣ Detect A cycle in Undirected Graph/Directed Graph
-
5️⃣ Topological Sort
- ✅ Github
- ✅ GeeksforGeeks
-
6️⃣ Number of islands [200]
- ✅ Github
-
7️⃣ Bipartite Check [785]
- ✅ Leetcode 785
- ✅ Github
📅 Day 24 (Graph)
-
1️⃣ SCC(using KosaRaju’s Algorithm)
- ✅ Github
- ✅ GeeksforGeeks
-
2️⃣ Djisktra’s Algorithm [743]
- ✅ Github
- ✅ Leetcode 743
-
3️⃣ Bellman Ford Algorithm
- ✅ Github
-
4️⃣ Floyd Warshall Algorithm
- ✅ Github
-
5️⃣ MST using Prim’s Algorithm
- ✅ Github
-
6️⃣ MST using Kruskal’s Algorithm
- ✅ Github
📅 Day 25 (Dynamic Programming)
-
1️⃣ Max Product Subarray [152]
-
2️⃣ Longest Increasing Subsequence [300]
-
3️⃣ Longest Common Subsequence [1143]
-
4️⃣ 0-1 Knapsack
-
5️⃣ Edit Distance [72]
-
6️⃣ Maximum sum increasing subsequence
- ✅ Github
-
7️⃣ Matrix Chain Multiplication
📅 Day 26 (Dynamic Programming)
-
1️⃣ Maximum sum path in matrix, (count paths, and similar type do, also backtrack to find the maximum path) [64]
- ✅ Leetcode 64
- ✅ Github
-
2️⃣ Coin change [322]
-
3️⃣ Subset Sum [416]
-
4️⃣ Rod Cutting
- ✅ Github
-
5️⃣ Egg Dropping [887]
-
6️⃣ Word Break [139]
-
7️⃣ Palindrome Partitioning
- ✅ Github
📅 Day 27
-
1️⃣ Revise OS notes that you would have made during your sem
-
2️⃣ If not made notes, spend 2 or 3 days and make notes from Knowledge Gate
📅 Day 28
-
1️⃣ Revise DBMS notes that you would have made during your semester
-
2️⃣ If not made notes, spend 2 or 3 days and make notes from Knowledge Gate.
📅 Day 29
-
1️⃣ Revise CN notes, that you would have made during your sem.
-
2️⃣ If not made notes, spend 2 or 3 days and make notes from Knowledge Gate.
📅 Day 30
- 1️⃣ 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
🚀 Hurrah!! You are ready for your placement after a month of hard-work without a cheat day.