- Sieve
- Catalan Numbers
- Sliding Window Technique
- Recursion and Backtracking
- Binary Search (TopCoder)
- BacktoBackSWE Playlist
- Tortoise and Hare Pointer
- Flatten Tree
- Height of Tree
- Iterative Traversals
- Lowest Common Ancestor
- Level Order Traversal
- Diameter of a Binary Tree
- Recursive Traversals
- Diagonal Traversal
- Vertical Traversal
- Serialize and Deserialize Trees
- Other BackToBackSWE Ones
- BFS Problems
- Graph coloring/Bipartition
- DFS Problems
- Topological Sort
- Union Find
- Find Shortest Path (Dijkstra's/Bellman Ford
- BackToBackSWE Playlist
- LeetCode Graphs Patterns
- Bubble Sort
- Insertion Sort
- Quick Sort
- Merge Sort
- Inversion Count
- Count Numbers Larger and Smaller than Self
- Radix Sort
- Count Sort
- Heap Sort
- Binary Search
- BackToBackSWE Playlist
- Insert
- Delete Nth Node
- Reverse
- Merge Two Sorted Linked List
- Fast Pointer, Slow Pointer technique
- Doubly Linked List
- BackToBackSWE Playlist
- Various Types of Hashing
- Basics
- BitMasking
- Powerset and Find tha nums
Difficulty Levels solved :
🟢 Easy: 70
🟡 Medium: 60
🔴 Hard:2
⚫️ Very Hard: 0
🌟 Good to review
Total - 132
Adding solutions to all problems I have completed today
Focus for today: Arrays, Strings
- 🟢 Remove Duplicates from Sorted Array Notes: Use Hash Map!
- 🟢 Rotate Array Notes: Recursion or (i+k)%n Index!
- 🟢 Reverse String Notes: Recursion!
- 🟢 Palindrome Check Notes: 2 Pointer's (Best)!
Sliding Window Technique Pattern
Focus for today: STL/ Linked Lists
- 🟡 Remove Nth Node From End of List Notes: 🌟 use fast and slow pointer's
- 🟢 Delete Node in a Linked List Notes: free(temp) doesn't works!
- 🟡 Linked List Construction Notes: Nothing 😆
Sliding Window Technique Pattern Notes: Mostly use HashMaps or HashSets!
- 🟡 Longest Substring with K Distinct Characters
- 🟢 Maximum Sum Subarray of Size K
- 🟢 Smallest Subarray with a given sum
Focus for today: Linked Lists/Contest
- 🟡 Minimum Operations to Make Array Equal Notes: take average
- 🟢 Three Consecutive Odds Notes: cakeWalk!
- 🟢 Reverse Linked List
Focus for today: Linked Lists
- 🟢 Linked List Cycle Notes: unordered set or 2 pointers
- 🟢 Palindrome Linked List Notes: divide into 2 equal parts and use 2 pointers
- 🔴 Merge Linked Lists Notes: 🌟 3 pointers
Focus for today: Trees
- 🟡 Binary Tree Inorder Traversal Notes:🌟 use stack
- 🟡 Validate Binary Search Tree Notes: inorder has to be in sorted
- 🟡 Kth Smallest Element in a BST Notes: think of inorder
- 🟢 Find Mode in Binary Search Tree Notes: think of preorder
- 🟡 BST Construction Notes: 🌟 basics
Focus for today: Trees
- 🟡 Binary Tree Level Order Traversal Notes:🌟 use queue
- 🟢 Convert Sorted Array to Binary Search Tree Notes: 🌟binary search
- 🟢 Maximum Depth of Binary Tree Notes: Either BFS/DFS
- 🟢 Find Closest Value in BST Notes: helper function
Focus for today: Trees
- 🟢 Invert Binary Tree Notes: 🌟 queue/recursion
- 🟢 Thousand Seperator Notes: Brute-Force
- 🟢 Valid Parentheses Notes: use stack
Focus for today: Contest
- 🟢 Most Visited Sector in a Circular Track Notes: circular => f = f%n
- 🟡 Maximum Number of Coins You Can Get Notes: reverse and give you first
Focus for today: Trees
- 🟡 Check Completeness of a Binary Tree Notes: 🌟use flag
- 🟡 Sum Root to Leaf Numbers Notes: recursion
- 🟢 Symmetric Tree Notes: recursion(best)
Focus for today: Trees
- 🟡 Path Sum II Notes: careful of callstack
- 🟢 Range Sum of BST Notes: Do any DFS - Cakewalk
Focus for today: Trees
- 🟡 Path With Given Sequence
- 🟡 Count Paths for a Sum Notes: 🌟Careful of count in recursion
Focus for today: Graphs
- 🟡 Number of Connected Components in an Undirected Graph Notes: dfs pattern
- 🟡 Number of Islands Notes: dfs in all 4 dirs
- 🟢 Depth First Search Notes: helper recursive function
Focus for today: Algorithms
- 🟡 Maximum Length of Subarray With Positive Product Notes: 🌟🌟careful of zeroes
- 🟢 Merge Two Binary Trees Notes: Update the Node, after every step for backtracking!
- 🟡 Kadane's Algorithm Notes: used for finding maxSubArray
- 🟢 Nth Fibonacci Notes: Iterative method best among all!
Focus for today: Everything
- 🟢 Majority Element Notes: Moore's Voting Algorithm
- 🟢 Valid Anagram Notes: take care of t.c and s.c
Focus for today: Everything
- 🟢 Excel Sheet Column Number Notes: use map
- 🟢 First Unique Character in a String
Focus for today: Everything
- 🟢 Repeated Substring Pattern Notes: make duplicate and ignore 1st and last
Focus for today: Recursions, Contest
- 🟡 Permutations Notes: 🌟 use backtracking
- 🟡 Subsets Notes: backtracking
- 🟢 Matrix Diagonal Sum
- 🟡 Subsets II Notes: backtraking
Focus for today: Backtracking
Focus for today: Analysing Patterns
Sub Sets Pattern Notes: Follows BFS in every Approach
Focus for today: September Challenge
- 🟡 Compare Version Numbers Notes: use istringstream and stoi stl
- 🟡 Word Pattern Notes: use unordered maps
Focus for today: Strings
Focus for today: Strings
- 🟡 Group Anagrams _Bucket Everything in hashmap and take care of TC and SC.
- 🔴 Longest Substring Without Duplication
Focus for today: Arrays
- 🟡 Three Sum Notes: Take Care of Duplicates
- 🟡 Smallest Difference Notes: Two Pointers
Focus for today: Arrays
- 🟡 Move Element To End Notes: Two Pointers
- 🟡 Monotonic Array Notes: One Pass 🔥
Focus for today: Contest, Miscellaneous
- 🟡 XOR Queries of a Subarray Notes: xorSum vector and manupalate
- 🟢 Decrypt String from Alphabet to Integer Mapping Notes: general
Focus for today: Interview Questions
- 🟢 Intersection of Two Arrays II Notes: set-intersection stl
- 🟢 Power of 3 Notes: log2(n) / log2(3)
- 🟢 Prime Numbers Notes: Sieve of eratosthenes
- 🟡 Spiral Traversal Notes: Make Sure of 4 variables and dir
- 🟡 Longest Peak Notes: Binary Search
- 🟢 Cyclic Rotate
- 🟢 Find the maximum and minimum element in an array
- 🟢 Find the "Kth" max and min element of an array
- 🟢 Move all the negative elements to one side of the array
- 🟡 Find duplicate in an array of N+1 Integers
- 🟡 Find Largest sum contiguous Subarray
- 🟡 Longest Consecutive Subsequence
- 🟡 Merge Intervals
- 🟡 Find maximum product subarray
- 🟡 Smallest subarray with sum greater than a given value
Inspired by DeepakTalwar/interview-prep-cpp