2000 tasks in less than two years

image

Hi everyone,

This article is a continuation of the two previous articles:
1000 problems in less than 6 months
1500 tasks in less than a year

After another year, I have solved an additional 500 new tasks. Now I have solved 2000 in less than 2 years. As of today, I have been working on them for 700 days in a row.

My experience.
I have been working as an Android Developer for the last 5 years. I have a Master’s degree in Computer Science. Two years ago, I moved from Russia to Canada.

What's new in the approach to solving these 500 tasks.
The majority of the tasks (about 400) were solved on Python3. I’m interested in studying Artificial Intelligence and Machine Learning, so I decided to improve my knowledge of Python3. I didn’t have a goal to solve 2000 tasks as soon as possible, so some of the tasks were solved for a second time on Python3, even when I had already completed them on Kotlin.

The time required for new tasks is the main difficulty.
It’s interesting for me to solve new tasks and study new approaches, but unfortunately I can’t find more time. On average, I spend more than one hour per day on Leetcode. There are many other work projects and educational activities where I improve my programming skills. However, I don't have enough time for all the things I want to do.

Contests and Guardian badge.
I don’t have prepared algorithms for contests. I always write standard algorithms from scratch like BFS, DFS, Dijkstra, GCD/LCM of two numbers and so on. Of course, it’s better to prepare something in advance – this can save you precious minutes during a contest.
A couple of months ago I earned the Guardian badge, when I had a Contest Rating of 2201-2237. It will be an interesting challenge to regain it, hopefully I can achieve my goal.

Programming language for solving tasks.
It’s important to remember that different languages have different speeds. When I solved tasks “1563. Stone Game V” and “1690. Stone Game VII” on Python3, the solutions got “Time Limit Exceeded” and “Memory Limit Exceeded”. However, the same solution on C++ worked in less than one second and less than 100 MB.

What next?
In the near future, I am going to continue solving about 10 new tasks per week. I would like to write some small demo projects for Machine Learning and Artificial Intelligence. If you have any recommendations of books, courses, names of basic ML/AI topics, please share them in the comments. Of course, I will be glad to read any other general pieces of advice about programming.

Comments (9)