My LeetCode summary

3 minute read

Published:

This post is a summary of my short journey in LeetCode.

My first glance at LeetCode is in my last year in college. Backing to that time, I was exchanging in the University of Tokyo for the whole semester, and luckily have some toy reserach work to do. Then, I heard something very bad happened on my old friend and I also got stucked on the research project. I feel extremely gerieved and lost at that time. This is when the LeetCode idea comes to me, because it is conceptually simple and needs tons of efforts to be skillful. In other words, I need something to distract myself. I always take LeetCode as a way of recreation, so that I can really concentrate on something, forget about sorrows, and get some positive feedbacks.

After coming to Penn State I rarely re-pick LeetCode, but in mid 2022 I literally took several weeks to complete near 300 problems and systematically learned algorithms and data structures. I have mixed reasons: for fun and for possible future career. I never actually thinking about turn my career direction to developer because I am still dreaming about entering academia and find a position in my country. Anyway, this indeed gives me one more option, and who knows I can really benefit from it or not? There is another important reason for doing LeetCode. My ex was suffering a lot from her advisor and reserarch direction, and I think the best way out is all-in coding training and targeting at finding a job in tech company. Considering her impressive intelligence I don’t think this is really hard. So I re-started the LeetCode journey and ready to support her in both academic and emotional ways. However, we finally broke up (sad story) after two months and I found a internship position in Dassault Systeme, so that was probably the end of the day for me to treat LeetCode very seriously.

I found many online courses and resources with suprisingly high quality especially in computer science area, some courses can even exceed almost all of the in-person courses I have ever taken. Thanks to the exponentially increasing information on the Internet, one can easily find good resources to learn. Of course, in many area, the fashion of online education is still not popular yet, but I believe it is just a matter of time.

Algorithms and data structures:

Coursera: Algorithm Specialization (Stanford)

Coursera: Algorithm Toobox (UCSD)

数据结构(清华大学)

LeetCode Guide:

Official LeetCode Learn

LeetCode题解

C++:

C++ Primer

C++ Reference Book

Mindset (Disclamer: every article in this category needs years of practice):

Teach Yourself CS

Teach Yourself Programming in Ten Years

把时间当做朋友(Time as a Friend)

In the end

In my observation, the most part of the life is chaos and flutuating. Good friends might be finally enemies. Intimate couples might finally be strangers. Relation between people is so unstable that a single casual word or action might destroy everything.

Life is about lost and gain, but knowledge seems never turn me down. Learning something always makes me feel not only “oh I am still useful” but also serves as one of the important purpose of my life.