Sunday, September 16, 2018

If I can solve 500 Leetcode algorithms

Sept. 16, 2018

Introduction


It is 11:22 AM Sunday morning. I chose this research topic called "If I can solve 500 Leetcode algorithms". I thought about the topic over a few weeks. I met three very talent people and their data is over 300 algorithm last 3 or 4 months, include one graduate student, two engineers over 10 years experience.

I just finished over 200 algorithms. There are 300 algorithms to work on. Can I finish in 3 months, 6 months, or 12 months? What is my plan?

Brainstorm the ideas


I think that there are a lot of things I have to work on in order to complete this task.

1. Stay focus
2. Definitely work on problem solving skills, math and analysis basic reasoning, soft skills like confidence
3. Also very experienced, very energetic, save time for best output; work on easy level ones, and keep hard ones to be worked on and off.
4. Explore new area I have weakness
5. Find patterns for existing learning
6. Meet and know more role model
7. Understand what benefits I can have if I can finish those algorithms so quickly
8. Improve my reading
9. Improve my sharing on Leetcode discuss
10. Get to know more about technology and foundations
11. Save a lot of money
12. Bring some insights for my existing problems like housing, career, management issues and how to solve them
13. Learn some leadership principle, learn by doing. Set a good role model for people
14. I need to learn how to evaluate my thoughts and behaviors. I need to meet more people, stay outside of my house, my office, my church. Less time on wechat, internet articles.
15. I need to understand that most important things as a programmer is to understand the task, and write readable and efficient code.
16. Help me to prepare more challenging task in my career, like system design, project management
17. I already stop practicing mock interviews, I like to go back to practice a lot of mock interview around Christmas break. I need to hurry up to finish more algorithms first.
18. I like to compare the difference, before and after 500 algorithms practice, how I understand mock interview and its importance.

Continue to brainstorm


From 11:30 AM to 2:30 PM I went to Willingdon church for service. Now I came back to continue to work on this topic. 

1. I like to get used to work on one hour algorithm drill. Work on one easy level algorithms, one medium and end up one hard level algorithms. The idea is to work on three algorithm, write for two, think about for one hard level.

2. I like to push myself one weekend Saturday and Sunday to complete 10 easy level algorithms quickly in short future. This weekend starting from Friday night I just worked around 5 algorithms only. Now it is 2:41 PM.

3. I will find ways to shorten all activities to less time. I will count hours, minutes for daily activities. Scrutinize all my needs and then put something on hold.

4. I will become much more efficient person first before I can finish those 300 algorithms on Leetcode.com. Think about tradeoff for everything, every time. What if I can trade another 10 minutes for a short and quick algorithm writing.

5. I will temporarily turn off all the articles reading related to technology, news and weather, and all other social activities. I just like to get one more algorithm to complete.

6. One thing is that I will not idolize the number of algorithm solved. I will focus on problem solving experience instead.

7. I will find more ways to entertain myself through those problem solving experience. I like to find weakness in my knowledge, and find most important things to work on as a software programmer.

8. I will at least form three new habits through those 300 algorithms.

No comments:

Post a Comment