Sharpen Your Algorithm Skills
This site is designed to help you explore different algorithmic approaches and problem-solving techniques, whether you're preparing for algorithm interviews or studying on your own to gain a deeper understanding of algorithms and data structures. Go step-by-step: read description > check solution > study examples > dig into the code.
Why do you need to solve LeetCode problems in the AI era?
This is a very easy and very hard question simultaneously. The short answer is - you do not need to do it. AI can do it very quickly and right for you. But the reality is much harder than we think.
Read more →My collection of important books for C++ developers. These books cover C++, programming practices, software design, algorithms, performance, and other topics useful for C++ development.
Get to know the main interval patterns used in LeetCode and coding interviews: Merge Intervals, Intersection, Scheduling, Sweep Line, and Coverage.
In this post I compare Fast & Slow Pointers, Two Pointers, and Sliding Window patterns: how each pattern works, how pointers move, their key differences, and how to recognize which approach to use in LeetCode problems and coding interviews.
The Prefix Sum pattern is one of the most useful array techniques for solving LeetCode problems involving subarray sums, range queries, cumulative values, and counting subarrays. This section covers common variations, recognition rules, and practical examples from LeetCode.
Essential linked list patterns for LeetCode and coding interviews, including traversal, search, and inserting nodes at the front and back