I want to suggest you consider a new class of problems. In addition to easy, medium, and hard, I would propose a category "core" - core problems that are too common to be used as interview questions, but that anyone thinking of taking an interview should know cold. Examples would include:
- Binary search
- Merge sort
- Singly linked list node removal
- Quick sort
- Recursive DFS
- Non-recurvise DFS / BFS
- Heap push (or pop) into a heapified array
- Bottom-up Fibonocci calculation
- Counting sort
- Basic exhaustive search for TSP and 0/1 Knapsack
When I'm working on helping someone prepare, it would be really useful to say: "You need to be able to solve each of the core problems without any major effort." Leetcode would provide the framework that would let them type in their code and have it immediately unit tested.
I've just been working with some students who are really good, and did really well in a mock interview -- but flailed when implementing a binary-search variation. They understand the binary search, they immediately knew the runtime and the algorithmic principles, but had problems with the actual small details of the coding.
@john78 Thanks for your thoughtful feedback! Yes, basics are important and we would like users to be able to brush up the basics like implementing basic binary search, inserting a node / remove a node in a singly linked list, or implementing a basic hash table with collision chaining, etc...
Maybe a new tag "Core" would be appropriate? The reason is some of the core problems are also frequently asked in real interviews, such as implementing Fibonacci which is also "Core" and I don't wish to separate them as two separate categories.
By the way, we are thinking of a structural way of doing this, so users can be guided step by step in reading articles and practicing problems. Are you interested in authoring contents/articles to help beginner learners to master the "Core" problems?
Yes -- a tag is a good, or even, better idea. I just didn't think of it.
Yes, I absolutely would be interested. So as we discussed might happen, I am leaving Miami University and joining Google (Pittsburgh office). So I don't have a good idea of how much time I can put into helping you. But I will really miss teaching, and this would be a good way to do some of it. I'm happy to help out. (And other faculty are interested in my idea if using leetcode for the algorithms course -- I'll work with them on that.)
@john78 Congrats on the Google offer! I will send you the instructions shortly on how to collaborate. Thanks!
Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.