A lot of developers generally tend to brush up or learn data structures and algorithms when it’s time to look for a new job or an internship. During this time, resources like Cracking the Coding Interview, LeetCode, Codeforces, TopCoder, to name a few, become everyone’s favorite.

As has been the old adage, Practice makes Perfect.

Will practice alone make you a better programmer?

Is it enough to just solve 200+ problems on these online platforms or solve all the problems mentioned in Cracking the Coding Interview twice or thrice?

Will that really get you a job?

Nope! Not Enough.

A lot of learning comes from going through other’s solutions and implementations.

More often than not, you end up learning an entirely new approach for solving a problem. One, that did not strike you at the time but which makes sense, nonetheless.

Even if you don’t come across any new algorithms, you may come across some fancy new tricks for space optimization or pruning or anything else that might come in handy.

It’s not always about a better algorithm. It’s also about a good implementation.

A major part of learning comes from going through the official tutorials of problems on these various online judges. That is the place where you can find some hidden gems that help add to your coding armory.

Most of the blogs out there seem to be a bit boring. Additionally, they are tough to understand at times because they are devoid of enough explanation.

To make matters worse, some blogs simply contain the solution in a particular language and are devoid of any explanation.

All these things makes understanding and learning difficult and discouraging especially for the new readers.

Enter, the CoderChef Kitchen 🎉🎉🎉

To address these problems, Divya and I decided to work on an open source repository to give back to the programming community our knowledge of data structures and algorithms and to make solving programming problems so much fun!

Today, we’re psyched to officially release our work to the community!

For the past 6 months, we’ve worked hard to compile solutions for 50+ programming problems. We’ve chosen some of the most important problems from interview preparation perspective.

Most of these problems are frequently asked by companies like Google, Microsoft, LinkedIn, Facebook and the likes.

What makes the repo unique is:

🍩 Every problem has well commented solutions.

🍩 Properly explained algorithms full of annotated and hand drawn images, animations and videos at times.

🍩 Each algorithm has well defined sections like Motivation, Algorithm, Complexity Analysis.

🍩 A thoroughly prepared list of Contribution Guidelines so as to help people easily become chefs in our Kitchen 😛. We would love to have as many people contribute to the repo as possible.

We will continue to add more problems to our repo in the coming few months. Our intention is to cover some of the most important problems from as many resources as possible and write documented solutions for them.