My Journey to solve more than 200 leetcode question in 3 months:
Vivek Sinha
Senior Engineer @ GSS | ENBD | Angular | Reactjs| NodeJs | Java | Springboot | Hybernate | AWS | Data structure and Algorithms | Problem Solving | System Design(HLD & LLD) | MicroServices (Cloud)| Full Stack Development
I have followed Striver's sde sheet because the way he explains the algorithms is exceptional.
Intro:
I am a software engineer with more than 5 years of technical experience in Angular/React/Java/C#, having worked with great teams and learned many things while working on projects.
Bio:
I am an Front End Developer developer and I love working on front end technologies because it is easy to execute any business logic due to its fewer complexities.
Front-end framework like Angular are mostly used when the project deals with many APIs (product API, cart API, order API, profile API, etc.), while React, on the other hand, focuses primarily on rapid front-end development by incorporating JavaScript code, adding some routes, including SSR, and you are done with MVP. I am not talking about Redux as it is mandatory afterward when your components need state management at later stages of development.
Angular, on the other hand, requires a bit more learning, and believe me, my colleagues are shifting from React to Angular because they think Angular is cooler than React.
Turning into a Java Developer:
Public string BecomeAJavaDeveloper(boolean canDoDsa){
if(canDoDsa){
"You should never quit;Keep solving more dsa question to have hands on the algorithms";
}else{
"Dont worry! Free and Paid lectures are there in internet to help you. I recommend CodeWithHarry for java basics and then straight away attempt to solve ds and algo questions referring any sheet (from leetcode,codestudio,gfg) so that you will be able to analyse the algorithm once you see any question";
}
}
My Quick Journey
At first, I learned the basic things like how to write variables and data types, string and array methods, reading and printing data, ArrayList, HashMap, HashSet, PriorityQueue, Deque, Stacks, Queues. (Source: YouTube (apnaCollege ,CodeWithHarry))(Day 0 - 4-5 hours)
Easy/Medium (Source: Leetcode, CodeStudio and GeekForGeeks)
1.Solve strings and arrays question- (Greedy, Heap, Sliding Window,Stacks and queues) questions -> here you will learn PriorityQueue,Queues and Stacks, Two pointers,Sliding window,Kadane's Algorithm,Boyer Moore Voting algorithm etc.
Arrays and Strings(Greedy, Heap, Sliding Window,Stacks and queues):
Day1:
Day 2:
Day 3:
Day 4:
Day 5
Day 6:
Day 7:
Day 8:
Day 9
Day 10
Day 11
Day 12
Strings:(Includes Two Pointer,Heaps and Greedy Questions)
Day 13
Day 14
Day 15
Solve Binary Search problems - Implement lower bound, upper bound, and related problems, Koko eating bananas, aggressive cows, painter's partition, etc.
Day 16
Day 17
Day 18
Day 19
Day 20
Solve Recursion and Backtracking problems
Day 21
Day 22
领英推荐
Solve LinkedLists Problems
Day 23(Linked List)
Day 24
Day 25
Day 26 (DLL)
Solve Binary Trees and Binary Search Trees Questions
Day 27
Day 28
Day 29
Day 30
Day 31(Binary Search Tree)
Day 32
Day 33
Solve Graph Problems Covering BFS/DFS,Topo Sort,Shortest Path Algorithms
Day 34(Graphs)
Day 35
Day 36
Day 37
Day 38
Day 39
Day 40
Day 41
Solve Dynamic programming problems: Don't forget to go through the steps from Brute force (recursion) to memoization to DP and at last space optimisation.Specially for dp you can watch LoveBabbar and striver videos. I started DP right after recursion, you can do after LinkedList, BT and BST and graph first.Its your choice
Day 42 1D DP
Day 43 2D/3D DP
Day 44 (Dp on Subsequences)
Day 45
Day 46 (DP on strings)
Day 47
Day 48 (DP On stocks)
Day 49 (DP on LIS)
Day 50 MCM DP
Remaining 10 DAYS:Solve Unknown Problems, Revision,Attend Mock Interviews
When you have time you can practice few Math problems and Bit Manupulation problem
It's never late to start learning DS and algo. Just take your time and find the best course structure that suits to your needs.