-
- 2.1. Common DS Implementation
- 2.2. Common Algo Implementation
- 2.3. Leetcode Explore
-
- 3.1. Topics in Algo Monster
- 3.1.1. Practice from Algo Monster
- 3.1. Topics in Algo Monster
-
- 4.1. Patterns
-
- 5.1. Patterns
Refrences:
-
Guided Study
Algo Monster
Grokking the Coding Interview -
Extreme Practice in Adhoc Manner (Monthly Challenge)
LeetCode Challenge -
LeetCode Lists
-
LeetCode Study Guide on Various DS
-
Object Oriented Programming
-
Dynamic Programming and Trees + Graph (More Practice)
-
Quick Glance for Practiced Questions
Study Approach
- Practice and Study consistently. No Streak breaks
- Create Flashcards daily.
- Spend 1-2 hour synthesizing whatever you learn.
- List down all the aha moments in one file.
- Practice Java / Create Projects in JAVA
- Reserve time for writing notes and practicing flashcards
NOT TODO LIST
- Block all the social media permanently.
- Don't get distracted by any other technology
- Don't start learning anything new
- No for CSS
- No for any new JS framework
- No for any tool
- No for Design
- Don't start learning anything new
- Stack
- Queue
- Linked List
- Doubly Linked List
- Hashmap
- Tree
- Tree Implementation
- Inorder
- Recursive
- Iterative
- Preorder
- Recursive
- Iterative
- PostOrder
- Recursive
- Iterative
- AVL Tree
- Trie
- Hased Array Tree
- LRU Cache
- Graph
- BFS
- DFS
- Sorting
- Binary
- Selection
- Insertion
- Quick
- Merge
- Counting
- Radix
- Bucket
- Heap
- Search
- Binary Search
- Lower Bound
- Upper Bound
- Binary Search on Ranges
- String
- Rabin Karp
Array
- Duplicate Zeroes
- Merge Sorted Arrays
- Valid Mountain Array
- Check if N and Its double Exist
- Remove Duplicate From Sorted Array
- Array Deletions
- In Place Operations
- Conclusion
- Binary Search
- Depth First Search
- Backtracking
- Breadth First Search
- Graph
- Two pointers
- Priority Queue
- Dynamic Programming
- Divide and Conquer
- Advanced Data Structure
- Other
- Object Oriented Design
- Amazon Online Assessment
- Microsoft Online Assessment
- Google Online Assessment
- Twitter Online Assessment
- Sliding Window
- Two Pointers
- Fast and Slow Pointers
- Merge Intervals
- Cyclic Sort
- In-place reversal of Linked List
- Tree: Breadth First Search
- Tree: Depth First Search
- Two Heaps
- Subsets
- Modified Binary Search
- Bitwise XOR
- Top K Element
- K-way merge
- 0-1 Knapsack
- Topological Sort
- Miscellaneous
- Knapsack
- Unbounded Knapsack
- Fibonacci Numbers
- Palindromic Subsequence
- Longest Common Substring
Reference :
List of Questions asked on System Design
Day Count | Source | Problem | Level | Time | Notes | Solution | Category | R - 1 | R - 2 | R - 3 | R - 4 |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | Implement Stack | Easy | 20 m | ||||||||
Implement Queue | Easy | 30 m | |||||||||
Duplicate Zeros | Easy | 20 m | |||||||||
2 | Valid Mountain Array | Easy | 30 m | ||||||||
Check if N and Its double Exist | Easy | 30 m | |||||||||
Remove Duplicate From Sorted Array | Easy | 30 m | |||||||||
Array Deletions | Easy | 30 m | |||||||||
Merge Sorted Arrays | ❌ | ||||||||||
3 |