Why Struggling with LeetCode Is Normal and How to Approach Algorithm Practice Effectively
The article explains that finding LeetCode problems difficult is common, discusses the necessity of algorithm practice for interviews, and offers a structured, incremental learning method to improve coding skills while maintaining motivation.
Hello everyone, I am Liang Tang.
A few days ago I answered a Zhihu question titled “Is it normal to struggle with LeetCode?” which resonated with many, so I edited the answer and reposted it here for a wider audience.
First, the conclusion: feeling that LeetCode is hard, even to the point of mental breakdown, is completely normal.
The original asker only read the C++ Primer and felt overwhelmed; I, having earned several ACM silver medals, once faced an interview LeetCode problem without prior practice and struggled repeatedly, eventually solving it but in a very messy way.
Even with my strong competition background, most students will find LeetCode challenging. These problems are deliberately designed to be tough so that they provide training value. If you find LeetCode too easy, even the hardest problems are a breeze, you should contact me because the ICPC community needs more talent.
Difficulty itself isn’t the issue; the task must also be sufficiently meaningful, otherwise people give up easily. Many students quit not only because it’s hard but also because they don’t see the purpose.
To keep your mindset stable, besides lowering difficulty, you need to recognize the necessity of the practice. High school and graduate entrance exams are hard, yet everyone gets through them. The difficulty isn’t scary; a meaningless difficulty is.
Many wonder why companies require algorithmic questions in interviews. Historically, it’s a way to “test the horse” – interviewers need to see if you can actually write code, which is essential for a programmer’s job.
Because interview time is limited, companies can’t ask you to build a full service; the simplest proxy is an algorithmic problem that reveals your problem‑solving mindset, coding style, and overall engineering maturity.
Even top companies like Google evaluate not just whether you solve the problem, but also your code quality, speed, and bug count. Domestic firms do the same; I once interviewed at Alibaba and foreign‑style companies where code quality mattered as much as the solution.
For fresh graduates, algorithmic questions become even more critical because they often lack extensive project experience or publications, and interviewers need a way to assess hard skills and fundamentals.
If your project experience isn’t particularly impressive, you must rely on algorithm practice to showcase your abilities during interviews.
I received an internship offer from Alibaba largely because I performed well on algorithmic questions; my ACM medals compensated for the lack of standout projects.
Therefore, if you fear or dislike problem‑solving, view it as a rare chance to demonstrate your competence in a fair, merit‑based setting.
Now, regarding difficulty: most challenging tasks benefit from a gradual, methodical learning approach, and LeetCode is no exception.
Treating LeetCode like a video‑game trophy hunt—rushing through problems in order or setting arbitrary quantity goals—leads to unpredictable difficulty spikes and mental burnout.
The correct approach is to use LeetCode as a learning tool for algorithms, not as a metric of how many problems you can finish.
For example, after learning binary search, search LeetCode for binary‑search‑related problems, solve them from easy to hard, and master the technique before moving on to the next algorithm. This provides controlled difficulty and solidifies your understanding, a method used by top competitive programmers.
Once you have a solid foundation in common algorithms and data structures, you can freely explore weekly contests, continue systematic practice, or try other online judges. At that point, typical interview algorithm questions will no longer be a threat.
Finally, encountering a hard problem and feeling frustrated is inevitable, but instead of abandoning it, try to think of alternative solutions; persistence often leads to a breakthrough.
DataFunSummit
Official account of the DataFun community, dedicated to sharing big data and AI industry summit news and speaker talks, with regular downloadable resource packs.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.