Tech-Notes

Striver’s SDE Sheet

  1. Arrays
  2. Arrays Part-II
  3. Arrays Part-III
  4. Arrays Part-IV
  5. Linked List
  6. Linked List Part-II
  7. Linked List and Arrays
  8. Greedy Algorithm
  9. Recursion
  10. Recursion and Backtracking
  11. Binary Search
  12. Heaps
  13. Stack and Queue
  14. Stack and Queue Part-II
  15. String
  16. String Part-II
  17. Binary Tree
  18. Binary Tree Part-II
  19. Binary Tree Part-III
  20. Binary Search Tree
  21. Binary Search Tree Part-II
  22. Binary Trees [Miscellaneous]
  23. Graph
  24. Graph Part-II
  25. Dynamic Programming
  26. Dynamic Programming Part-II
  27. Trie )

Day 1: Arrays

# Problem Level Status LeetCode Link Answer
1 Set Matrix Zeros Medium LeetCode  
2 Pascal’s Triangle Medium LeetCode  
3 Next Permutation Medium LeetCode  
4 Kadane’s Algorithm Easy LeetCode  
5 Sort an array of 0’s, 1’s and 2’s Medium LeetCode  
6 Stock Buy and Sell Easy LeetCode  

Day 2: Arrays Part-II

# Problem Level Status LeetCode Link Answer
1 Rotate Matrix Medium LeetCode  
2 Merge Overlapping Subintervals Medium LeetCode  
3 Merge two sorted arrays without extra space Medium LeetCode  
4 Find the duplicate in an array of N+1 integers Medium LeetCode  
5 Repeat and Missing Number Hard LeetCode  
6 Inversion of Array (Pre-req: Merge Sort) Medium LeetCode  

Day 3: Arrays Part-III

# Problem Level Status LeetCode Link Answer
1 Search in a 2 D matrix Medium LeetCode  
2 Pow(x, n) Medium LeetCode  
3 Majority Element (>n/2 times) Easy LeetCode  
4 Majority Element (n/3 times) Medium LeetCode  
5 Grid Unique Paths Medium LeetCode  
6 Reverse Pairs (Leetcode) Medium LeetCode  

Day 4: Arrays Part-IV

# Problem Level Status LeetCode Link Answer
1 2Sum Problem Medium LeetCode  
2 4-Sum Problem Hard LeetCode  
3 Longest Consecutive Sequence Medium LeetCode  
4 Largest Subarray with K sum Medium LeetCode  
5 Count number of subarrays with given xor K Hard LeetCode  
6 Longest Substring without repeat Medium LeetCode  

Day 5: Linked List

# Problem Level Status LeetCode Link Answer
1 Reverse a LinkedList Easy LeetCode  
2 Find the middle of LinkedList Easy LeetCode  
3 Merge two sorted Linked List (use method used in mergeSort) Medium LeetCode  
4 Remove N-th node from back of LinkedList Medium LeetCode  
5 Add two numbers as LinkedList Medium LeetCode  
6 Delete a given Node when a node is given.(O(1) solution) Medium LeetCode  

Day 6: Linked List Part-II

# Problem Level Status LeetCode Link Answer
1 Find intersection point of Y LinkedList Medium LeetCode  
2 Detect a cycle in Linked List Medium LeetCode  
3 Reverse a LinkedList in groups of size k Hard LeetCode  
4 Check if a LinkedList is palindrome or not Medium LeetCode  
5 Find the starting point of the Loop of LinkedList Medium LeetCode  
6 Flattening of a LinkedList Medium LeetCode  

Day 7: Linked List and Arrays

# Problem Level Status LeetCode Link Answer
1 Rotate a LinkedList Medium LeetCode  
2 Clone a Linked List with random and next pointer Hard LeetCode  
3 3 sum Medium LeetCode  
4 Trapping Rainwater Hard LeetCode  
5 Remove Duplicate from Sorted array Easy LeetCode  
6 Max consecutive ones Easy LeetCode  

Day 8: Greedy Algorithm

# Problem Level Status LeetCode Link Answer
1 N meetings in one room Medium LeetCode  
2 Minimum number of platforms required for a railway Medium LeetCode  
3 Job sequencing Problem Medium LeetCode  
4 Fractional Knapsack Problem Medium LeetCode  
5 Greedy algorithm to find minimum number of coins Medium LeetCode  
6 Assign Cookies Medium LeetCode  

Day 9: Recursion

# Problem Level Status LeetCode Link Answer
1 Subset Sums Medium LeetCode  
2 Subset-II Medium LeetCode  
3 Combination sum-1 Medium LeetCode  
4 Combination sum-2 Medium LeetCode  
5 Palindrome Partitioning Medium LeetCode  
6 K-th permutation Sequence Medium LeetCode  

Day 10: Recursion and Backtracking

# Problem Level Status LeetCode Link Answer
1 Print all permutations of a string/array Medium LeetCode  
2 N queens Problem Hard LeetCode  
3 Sudoku Solver Hard LeetCode  
4 M Coloring Problem Hard LeetCode  
5 Rat in a Maze Hard LeetCode  
6 Word Break (print all ways) Medium LeetCode  
# Problem Level Status LeetCode Link Answer
1 The N-th root of an integer Easy LeetCode  
2 Matrix Median Hard LeetCode  
3 Find the element that appears once in a sorted array, and the rest element appears twice (Binary search) Medium LeetCode  
4 Search element in a sorted and rotated array/ find pivot where it is rotated Medium LeetCode  
5 Median of 2 sorted arrays Hard LeetCode  
6 K-th element of two sorted arrays Medium LeetCode  
7 Allocate Minimum Number of Pages Hard LeetCode  
8 Aggressive Cows Medium LeetCode  

Day 12: Heaps

# Problem Level Status LeetCode Link Answer
1 Max heap, Min Heap Implementation (Only for interviews) Medium LeetCode  
2 Kth Largest Element Easy LeetCode  
3 Maximum Sum Combination Medium LeetCode  
4 Find Median from Data Stream Hard LeetCode  
5 Merge K sorted arrays Medium LeetCode  
6 K most frequent elements Medium LeetCode  

Day 13: Stack and Queue

# Problem Level Status LeetCode Link Answer
1 Implement Stack using Arrays Easy LeetCode  
2 Implement Queue using Arrays Easy LeetCode  
3 Implement Stack using Queue (using single queue) Medium LeetCode  
4 Implement Queue using Stack (O(1) amortized method) Medium LeetCode  
5 Check for balanced parentheses Medium LeetCode  
6 Next Greater Element Easy LeetCode  
7 Sort a Stack Medium LeetCode  

Day 14: Stack and Queue Part-II

# Problem Level Status LeetCode Link Answer
1 Next Smaller Element Easy LeetCode  
2 LRU cache (IMPORTANT) Hard LeetCode  
3 LFU cache Hard LeetCode  
4 Largest rectangle in a histogram Medium LeetCode  
5 Sliding Window Maximum Hard LeetCode  
6 Implement Min Stack Medium LeetCode  
7 Rotten Orange (Using BFS) Medium LeetCode  
8 Stock Span Problem Medium LeetCode  
9 Find the maximum of minimums of every window size Medium LeetCode  
10 The Celebrity Problem Medium LeetCode  

Day 15: String

# Problem Level Status LeetCode Link Answer
1 Reverse Words in a String Easy LeetCode  
2 Longest Palindrome in a string Medium LeetCode  
3 Roman Number to Integer and vice versa Easy LeetCode  
4 Implement ATOI/STRSTR Medium LeetCode  
5 Longest Common Prefix Easy LeetCode  
6 Rabin Karp LeetCode  

Day 16: String Part-II

# Problem Level Status LeetCode Link Answer
1 Z-Function Easy LeetCode  
2 KMP Algo / LPS(pi) Array Hard LeetCode  
3 Minimum characters needed to be inserted in the beginning to make it palindromic Hard LeetCode  
4 Check for Anagrams Easy LeetCode  
5 Count and Say Medium LeetCode  
6 Compare Version Numbers Easy LeetCode  

Day 17: Binary Tree

# Problem Level Status LeetCode Link Answer
1 Inorder Traversal Easy LeetCode  
2 Preorder Traversal Easy LeetCode  
3 Postorder Traversal Easy LeetCode  
4 Morris Inorder Traversal Medium LeetCode  
5 Morris Preorder Traversal Medium LeetCode  
6 LeftView Of Binary Tree Easy LeetCode  
7 Bottom View of Binary Tree Medium LeetCode  
8 Top View of Binary Tree Easy LeetCode  
9 Preorder, inorder, postorder in a single traversal Medium LeetCode  
10 Vertical order traversal Easy LeetCode  
11 Root to Node Path in Binary Tree Medium LeetCode  
12 Max width of a Binary Tree Medium LeetCode  

Day 18: Binary Tree Part-II

# Problem Level Status LeetCode Link Answer
1 Level order Traversal / Level order traversal in spiral form Easy LeetCode  
2 Height of a Binary Tree Medium LeetCode  
3 Diameter of Binary Tree Medium LeetCode  
4 Check if the Binary tree is height-balanced or not Medium LeetCode  
5 LCA in Binary Tree Medium LeetCode  
6 Check if two trees are identical or not Medium LeetCode  
7 Zig Zag Traversal of Binary Tree Easy LeetCode  
8 Boundary Traversal of Binary Tree Medium LeetCode  

Day 19: Binary Tree Part-III

# Problem Level Status LeetCode Link Answer
1 Maximum path sum Hard LeetCode  
2 Construct Binary Tree from inorder and preorder Hard LeetCode  
3 Construct Binary Tree from Inorder and Postorder Hard LeetCode  
4 Symmetric Binary Tree Medium LeetCode  
5 Flatten Binary Tree to LinkedList Hard LeetCode  
6 Check if Binary Tree is the mirror of itself or not Medium LeetCode  
7 Check for Children Sum Property Medium LeetCode  

Day 20: Binary Search Tree

# Problem Level Status LeetCode Link Answer
1 Populate Next Right pointers of Tree Medium LeetCode  
2 Search given Key in BST Easy LeetCode  
3 Construct BST from given keys Hard LeetCode  
4 Construct a BST from a preorder traversal Medium LeetCode  
5 Check if a BT is BST or not Medium LeetCode  
6 Find LCA of two nodes in BST Medium LeetCode  
7 Find the inorder predecessor/successor of a given Key in BST Medium LeetCode  

Day 21: Binary Search Tree Part-II

# Problem Level Status LeetCode Link Answer
1 Floor in a BST Easy LeetCode  
2 Ceil in a BST Easy LeetCode  
3 Find K-th smallest element in BST Medium LeetCode  
4 Find K-th largest element in BST Medium LeetCode  
5 Find a pair with a given sum in BST Medium LeetCode  
6 BST iterator Medium LeetCode  
7 Size of the largest BST in a Binary Tree Medium LeetCode  
8 Serialize and deserialize Binary Tree Medium LeetCode  

Day 22: Binary Trees [Miscellaneous]

# Problem Level Status LeetCode Link Answer
1 Binary Tree to Double Linked List Medium LeetCode  
2 Find median in a stream of running integers. Hard LeetCode  
3 K-th largest element in a stream. Easy LeetCode  
4 Distinct numbers in Window. Medium LeetCode  
5 K-th largest element in an unsorted array. Easy LeetCode  
6 Flood-fill Algorithm Medium LeetCode  

Day 23: Graph

# Problem Level Status LeetCode Link Answer
1 Clone a graph (Not that easy as it looks) Hard LeetCode  
2 DFS Hard LeetCode  
3 BFS Medium LeetCode  
4 Detect A cycle in Undirected Graph using BFS Hard LeetCode  
5 Detect A cycle in Undirected Graph using DFS Hard LeetCode  
6 Detect A cycle in a Directed Graph using DFS Hard LeetCode  
7 Detect A cycle in a Directed Graph using BFS Hard LeetCode  
8 Topological Sort BFS Hard LeetCode  
9 Topological Sort DFS Hard LeetCode  
10 Number of islands (Do in Grid and Graph Both) Hard LeetCode  
11 Bipartite Check using BFS Medium LeetCode  
12 Bipartite Check using DFS Hard LeetCode  

Day 24: Graph Part-II

# Problem Level Status LeetCode Link Answer
1 Strongly Connected Component (using KosaRaju’s algo) Hard LeetCode  
2 Dijkstra’s Algorithm Hard LeetCode  
3 Bellman-Ford Algo Hard LeetCode  
4 Floyd Warshall Algorithm Hard LeetCode  
5 MST using Prim’s Algo Hard LeetCode  
6 MST using Kruskal’s Algo Hard LeetCode  

Day 25: Dynamic Programming

# Problem Level Status LeetCode Link Answer
1 Max Product Subarray Medium LeetCode  
2 Longest Increasing Subsequence Medium LeetCode  
3 Longest Common Subsequence Medium LeetCode  
4 0-1 Knapsack Medium LeetCode  
5 Edit Distance Hard LeetCode  
6 Maximum Sum Increasing Subsequence Hard LeetCode  
7 Matrix Chain Multiplication Hard LeetCode  

Day 26: Dynamic Programming Part-II

# Problem Level Status LeetCode Link Answer
1 Minimum Sum Path in the Matrix (count paths and similar types, also backtrack to find the Minimum path) Medium LeetCode  
2 Coin Change Hard LeetCode  
3 Subset Sum Medium LeetCode  
4 Rod Cutting Hard LeetCode  
5 Egg Dropping Hard LeetCode  
6 Word Break Medium LeetCode  
7 Palindrome Partitioning (MCM Variation) Hard LeetCode  
8 Maximum Profit in Job Scheduling Hard LeetCode  

Day 27: Trie

# Problem Level Status LeetCode Link Answer
1 Implement Trie (Prefix Tree) Hard LeetCode  
2 Implement Trie - 2 (Prefix Tree) Hard LeetCode  
3 Longest String with All Prefixes Medium LeetCode  
4 Number of Distinct Substrings in a String Hard LeetCode  
5 Power Set (this is very important) Medium LeetCode  
6 Maximum XOR of two numbers in an array Medium LeetCode  
7 Maximum XOR With an Element From Array Hard LeetCode