Hello everyone. I received a lot of questions regarding how to solve problems, your approach, which we need to know, important problems and etc. and in this post I wanted to show and share with all of you with the list of my favorite and in my opinion the problems which will be better to solve to better understand the topic and solve problems efficiently. I will try to add every topic from LeetCode, but it is somehow hard do everything at one time, so time by time I will update this post. Let's begin.
LINKED LIST PROBLEMS:
LINK TO LIST: https://leetcode.com/list/50sfo32d
This list contains the problems to all levels. I included mostly easy and medium problems and one hard problem which is my favorite. How to approach linked list problems:
STACK PROBLEMS:
LINK TO LIST: https://leetcode.com/list/504xdrcr
This list contains the problems to all levels. I included many easy and medium problems. How to approach stack problems:
After learning Stack learn the Queue. It is important to know both of them. For both Stack and Queue learn how to implement them using Array and Linked List. It is just to understand their work principle better.
TREE PROBLEMS:
LINK TO LIST: https://leetcode.com/list/504mfxd2
This list contains the problems to all levels. I included many easy and medium problems. This topic is one of the favorite interview topics. How to approach tree problems:
You ask you I included so many problems to Trees and the answer is that many of them are similar and can be solved by applying the similar logic. Revision can help to build an strong base.
HASH TABLE AND MAP PROBLEMS:
LINK TO LIST: https://leetcode.com/list/504wrexe
This list contains the problems to all levels. I included many easy and medium problems. How to approach hash table and map problems:
SORTING PROBLEMS:
LINK TO LIST: https://leetcode.com/list/5047kw65
This list contains the problems to all levels. I included many easy and medium problems and also one hard problem for which we actually needed to use linear time sorting algorithm. How to approach sorting problems:
SEARCHING PROBLEMS:
LINK TO LIST: https://leetcode.com/list/504ixc37
This list contains the problems to all levels. I included many easy and medium problems. How to approach searching problems:
GREEDY PROBLEMS:
LINK TO LIST: https://leetcode.com/list/5ik01ftj
This list contains the problems to all levels. I included many easy and medium problems. How to approach greedy problems:
I did not include DP, Graphs, and Strings. I will do it later and will update this post.
I hope this post will help you. Begin from easy problems and try to solve some similar problems to better understand. Do not try to cheat. If you are cheating the you are making no progress. If you cannot solve problem more than 2 hours then skip but do not forget to return and solve it. I think that even if you will spend large amount of time but solve by yourself then it is an progress. If you have any suggestions like what to include to this post, which additional problems to add, or if you have questions please write to comments section. I will read every comment and try to answer when I have free time. Thanks !