Hello,
I have just started solving questions on Leetcode. I have decided that I would try to do one question a day. I have also decided that I would be able to spare roughly an hour a day as a full time employee. When I actually started solving problems it turns out that it may take me 2-4 hours to solve even easy problems. That too I might have to end up looking at het logic to solve the problem and then implement it. I may have to go back to theory or learn new concepts on the way. For example, I was trying to solve Maximum subarray problem yesterday and it turns out it can be solved with Dynamic Programming. That is something I haven't studied so far. I will have to allocate more time to it. I may also want to look at solutions of other people to get a better idea of the problem.
How should I approach time management and learning process as a beginner? Should I have a fixed amount of time which I take to solve a problem? A fixed amount of time that I use to checkout other solutions? If something takes me a week to finish then does it make sense to spend a week on it before moving forward. As a beginner should I drop the idea of doing a problem a day and focus on solving and learning from each question even if it takes days of work.
Thanks.
PS: I code in Kotlin and for most parts I am comfortable with it.
I am self learned programmer who has never had a class of mathematics beyond High School or any computer science course.
Most of my experience is in Android where I don't usually need much algorithms. It's mostly setting data from APIs.
As far as my experience with data structures and algorithms goes, I have just finished the Sedgwick's Algorithms Part I.
The reason I am here is to both prepare for interviews and solidify my knowledge of the DSA I learned in the aforementioned course.
Thought I would give you more info about my personal situation.