When I attended my first leetcode weekly contest in Fuburary, I couldn’t even complete two questions out of four. However, till now, I’ve completed 600+ questions and got contest rating 1976, which ranks top 3% of all global participants.

Although being busier since the start of the school year, I would continue to hone my coding skills and further improve my understanding of algorithms and data structures.

homepage_photo

In the Beginning

Starting from foundemental data structures and algorithms like linked list, binary search, two pointers, stack&queue, and dfs&bfs, I’ve gradually moved on to more advanced topics like dynamic programming, greedy algorithm, monotonic stack&queue, union find, bit manipulation, trie, and segment tree.

While at the beginning, I always tried serveral hours on those difficult problems only getting TLE (time limit exceeded) or WA (wrong answer) in the end, I learned from discussion board and solution session and incorporate advanced concepts and ideas into my code.

Understanding the Joy of Coding and AC

To be honest, I was pretty frustrated at that time, but I continued with persistence. Gradually, I got the hang of it and started to enjoy the process of solving problems.

To be specific, it’s a joy to see my code passed all test cases and got AC (accepted) after a rigorous thinking and delicate construction. Moreover, after my version of solution get passed, I would continue to optimize it and compare it with other solutions to learn more about the problem and the algorithm - this is really where I gain constant improvement.

improve-efficiency

Sharing My Own Solution on Discussion Board

In addition to learning from others, when my personal algorithm came out to be efficient and elegant, I would also share it on discussion board to help others. This is a great way to consolidate my understanding of the problem and the algorithm. I’ve posted 10+ solutions on discussion board and got 1000+ views.

Like this is one of my posted solutions on discussion board:

posted-solution

About the Weekly Contest

While having participated 36 weekly contests, starting from only solving 2/4 questions, I’ve gradually improved to solving 3/4 questions and even 4/4 questions.

Although every time participating the contest makes me feel nervous, I still enjoy the process of solving problems and the joy of getting AC - this is really a great way to hone my coding skills in a short period of time.

This is my first time getting 4/4 AC at weekly contest 296 (2021-06-04):

first-AC

Future Aspirations

Anyway, this is absolutely not the end of my competitive coding journey, I aim at getting a 2000+ rank and achieve guardian status (top 1% globally) in the near future, and hope that I can realize this goal in the near future with my persistence and hard work.