SDE Sheet
1. Prefix Sum
Problem 1: (Leetcode:)
Problem Statement
Code and Explaination
Problem 1: Subarray Sum Equals K (Leetcode:560)
Problem Statement
Code and Explaination
This is first approach
Explaination:
This is second approach
This is second approach
2. Two Pointers
Problem 1: Best time to buy and sell stock(Leetcode:121)
Problem Statement
Code and Explaination
This is Brute Force approach
This is One-Pass (Optimal) approach
This is Prefix Min Array approach
This is Sliding Window (Two Pointers) approach
Problem 2: Longest Substring Without Repeating Characters(Leetcode: 3)
Problem Statement
Code and Explaination
This is first approach
Problem 3: Rotate Array(Leetcode: 189)
Problem Statement
Code and Explaination
Explaination:
This is first approach
Problem 4: Three Sum (Leetcode:15)
Problem Statement
Code and Explaination
Explaination:
This is first approach
Problem 5: Container With Most Water(Leetcode:11)
Problem Statement
Code and Explaination
This is both two pointer and greedy approach
3. Fast and Slow Pointers
4. Sliding Window
5. Overlapping Intervals
Problem 1: Merge Intervals(Leetcode:56)
Problem Statement
Code and Explaination
Explaination:
This is first approach
6. Cyclic Sort
7. Bit Manipulation
8. Linked List
Problem 1: Reverse Linked List (Leetcode:206)
Problem Statement
Code and Explaination
Explaination:
This is iterative approach (Most Optimal)
This is recursion approach
This is stack based approach
Problem 2: Merge Two Sorted Lists (Leetcode:21)
Problem Statement
Code and Explaination
Explaination:
This is dummy node approach
This is Recursive approach
Convert to Array → Sort → Rebuild Linked List
In-Place Merge without Dummy Node
9. Stack
Problem 1: Valid Parentheses(Leetcode:20)
Problem Statement
Code and Explaination
10. Binary Search
Problem 1: Longest Common Prefix(Leetcode:14)
Problem Statement
Code and Explaination
This is Vertical Scanning approach
This is Horizontal Scanning approach
Explaination:
This is Divide and Conquer approach
Explaination:
This is Binary Search on Prefix Length approach
Explaination:
This is trie based approach
Problem 2: Search in a rotated sorted array(Leetcode:33)
Problem Statement
Code and Explaination
Explaination:
This is first approach
Problem 3: Koko eating bananas(Leetcode:875)
Problem Statement
Code and Explaination
Explaination:
This is first approach
11. Greedy Algorithm
Problem 1: Best Time to Buy and Sell Stock II (Leetcode:122)
Problem Statement
Code and Explaination
12. Divide and Conquer
13. Backtracking
14. Dynamic Programming
Problem 1: Fibonacci Number(Leetcode:509)
Problem Statement
Code and Explaination
Explaination:
This is Recursive approach
This is Recursive approach
This is Top-Down DP (Memoization) approach
This is Bottom-Up DP (Tabulation) approach
Problem 2: Climbing Stairs (Leetcode:70)
Problem Statement
Code and Explaination
Explaination:
This is Recursive (Naive) approach
This is Recursive (Naive) approach
This is Top-Down DP (Memoization) approach
This is Bottom-Up DP (Tabulation) approach
Problem 3: Word Break(Leetcode:139)
Problem Statement
Code and Explaination
This is first approach
Problem 4: Maximum Subarray(Leetcode:53)
Problem Statement
Code and Explaination
This is first approach
Problem 5: Longest Palindromic substring(Leetcode:5)
Problem Statement
Code and Explaination
Explaination:
This is first approach
Explaination:
This is second approach
Problem 6: Longest Increasing Subsequence(Leetcode:300)
Problem Statement
Code and Explaination
15. K-way Merge
16. HashMap
Problem 1: Two Sum(Leetcode:1)
Problem Statement
Code and Explaination
This is first approach
This is second approach
Problem 2: Group Anagrams(Leetcode:49)
Problem Statement
Code and Explaination
Explaination:
This is first approach
17. Heaps
18. Tree
Problem 1: Lowest Common Ancestor of a binary tree(Leetcode:236)
Problem Statement
Code and Explaination
Explaination:
This is first approach
19. Graph
Problem 1: Number of islands(Leetcode:200)
Problem Statement
Code and Explaination
Explaination:
This is first approach
Problem 2: Course Schedule(Leetcode:207)
Problem Statement
Code and Explaination
Explaination:
This is first approach