It is 8:54 PM Friday evening, I like to write a blog related to my research "What is the best target for a software programmer to set a training target?". Today I found a Google programmer who completed 837 algorithms, 1661 submission in the last year. I ask myself what if I set a target for myself, next 12 months, what is number I can reach?
I have worked on Leetcode.com over three years starting from 2015 January, but I only solved 177 algorithms, but last 77 algorithms are solved in less than 3 months.
Target, motivation, and learning ability
I like to improve my learning ability, set a good target on Leetcode.com algorithms.
Let us read some data.
The person is ranking 70 on Leetcode.com. My ranking is 50931. My ex-coach's ranking is 3000, solved algorithm 525/ 889.
I just quickly use this profile to look into with solved 300 algorithm, the ranking will be 15937. Here is the profile. Here is linkedin profile. I just could not believe that the engineer is a Facebook engineer.
Ranking 15618, solved 327 algorithms, 47 contests, here is profile of Citrix software engineer.
Ranking 16619, solved 319 algorithms, here is profile.
Ranking 23050, solved 277 algorithms, here is the profile.
My target - find 300 algorithm to solve
It is not easy for me to work on algorithms. Some of us can finish 300 medium algorithm in 3 months. Some of us can finish 180 algorithms in 3 months.
I know that it takes a lot of work to focus on the algorithm practice. I have to focus on coding, cut down the hours to do other activities.
And also I need to be very smart, also focus on the algorithm, pass online judge. Do not think about algorithms too long. It does not help too much to reach target.
It is good practice to start from easy level algorithm, solve 150 easy level algorithm, and then move on medium level algorithms.
I have to be careful not to waste time. Pay attention to any project longer than three hours. Most important is to get used to solve algorithm problems. I need to get myself comfortable and also try to figure out the ways to expedite the coding.
It is good to try various solutions for one algorithm. But in order to expedite the process, it is better to move on new algorithm, save time for the new algorithm.