All Projects → DivyaGodayal → Coderchef Kitchen

DivyaGodayal / Coderchef Kitchen

The official repository for our programming kitchen which consists of 50+ delicious programming recipes having all the interesting ingredients ranging from dynamic programming, graph theory, linked lists and much more. All the articles contain beautiful images and some gif/video at times to help clear important concepts.

Programming Languages

python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Coderchef Kitchen

Interview Questions
List of all the Interview questions practiced from online resources and books
Stars: ✭ 187 (-38.89%)
Mutual labels:  algorithm, graph, linked-list, interview, interview-questions, interview-preparation, interview-practice
Leetcode
👏🏻 leetcode solutions for Humans™
Stars: ✭ 1,129 (+268.95%)
Mutual labels:  algorithm, interview, interview-questions, leetcode, interview-preparation, interview-practice
Interviews
Everything you need to know to get the job.
Stars: ✭ 54,875 (+17833.01%)
Mutual labels:  algorithm, interview, interview-questions, leetcode, interview-preparation, interview-practice
Interview
📚 C/C++ 技术面试基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。This repository is a summary of the basic knowledge of recruiting job seekers and beginners in the direction of C/C++ technology, including language, program library, data structure, algorithm, system, network, link loading library, interview experience, recruitment, recommendatio…
Stars: ✭ 21,608 (+6961.44%)
Mutual labels:  algorithm, interview, interview-questions, leetcode, interview-preparation, interview-practice
Leetcode Sol Res
Clean, Understandable Solutions and Resources for LeetCode Online Judge Algorithm Problems.
Stars: ✭ 1,647 (+438.24%)
Mutual labels:  algorithm, interview, interview-questions, leetcode, interview-preparation, interview-practice
Algorithms Primer
A consolidated collection of resources for you to learn and understand algorithms and data structures easily.
Stars: ✭ 381 (+24.51%)
Mutual labels:  algorithm, dynamic-programming, linked-list, interview-questions, interview-practice
Algodeck
An Open-Source Collection of 200+ Algorithmic Flash Cards to Help you Preparing your Algorithm & Data Structure Interview 💯
Stars: ✭ 4,441 (+1351.31%)
Mutual labels:  algorithm, graph, dynamic-programming, linked-list, interview-practice
InterviewPrep
A repository containing link of good interview questions
Stars: ✭ 54 (-82.35%)
Mutual labels:  linked-list, leetcode, interview-questions, dynamic-programming, interview-preparation
Data Structures Algorithms
My implementation of 85+ popular data structures and algorithms and interview questions in Python 3 and C++
Stars: ✭ 273 (-10.78%)
Mutual labels:  algorithm, graph, dynamic-programming, linked-list, interview-questions
Cs Fundamentals
🎓 Data structures and algorithms
Stars: ✭ 869 (+183.99%)
Mutual labels:  interview, programming, interview-questions, interview-preparation, interview-practice
Interactive Coding Challenges
120+ interactive Python coding interview challenges (algorithms and data structures). Includes Anki flashcards.
Stars: ✭ 24,317 (+7846.73%)
Mutual labels:  algorithm, interview, programming, interview-questions, interview-practice
Codinginterviews
This repository contains coding interviews that I have encountered in company interviews
Stars: ✭ 2,881 (+841.5%)
Mutual labels:  algorithm, interview, interview-questions, interview-preparation, interview-practice
Algorithmic-Problem-Solving
Solutions of algorithmic type of programming problems from sites like LeetCode.com, HackerRank.com, LeetCode.com, Codility.com, CodeForces.com, etc. using Java.
Stars: ✭ 20 (-93.46%)
Mutual labels:  leetcode, interview, interview-practice, interview-questions, interview-preparation
Algorithms And Data Structures In Java
Algorithms and Data Structures in Java
Stars: ✭ 498 (+62.75%)
Mutual labels:  algorithm, interview, leetcode, interview-preparation, interview-practice
Interviewguide
《大厂面试指北》——包括Java基础、JVM、数据库、mysql、redis、计算机网络、算法、数据结构、操作系统、设计模式、系统设计、框架原理。最佳阅读地址:http://notfound9.github.io/interviewGuide/
Stars: ✭ 3,117 (+918.63%)
Mutual labels:  interview, interview-questions, leetcode, interview-preparation, interview-practice
.codebits
📚 List of resources for Algorithms and Data Structures in Python & other CS topics @2017
Stars: ✭ 144 (-52.94%)
Mutual labels:  algorithm, interview, programming, interview-questions, leetcode
Leetcode Solutions
🏋️ Python / Modern C++ Solutions of All 2111 LeetCode Problems (Weekly Update)
Stars: ✭ 2,787 (+810.78%)
Mutual labels:  algorithm, interview-questions, leetcode, interview-preparation, interview-practice
Interviewroom
Contains all important data structure and algorithms problems asked in interviews
Stars: ✭ 207 (-32.35%)
Mutual labels:  algorithm, interview, interview-questions, leetcode, interview-preparation
Competitive Programming
Contains solutions and codes to various online competitive programming challenges and some good problems. The links to the problem sets are specified at the beginning of each code.
Stars: ✭ 65 (-78.76%)
Mutual labels:  linked-list, leetcode, interview, dynamic-programming, interview-preparation
pw
Best websites a Programmer should visit
Stars: ✭ 27 (-91.18%)
Mutual labels:  interview, interview-practice, interview-questions, interview-preparation

CoderChef Kitchen 🍰 🍭🍦🍩

The aim of CoderChef Kitchen is to be a one-stop shop for programmers, both experienced and amateurs alike to brush up and hone their programming skills. The repository contains well documented mini-blogs for a vast variety of programming problems.

  • 🔥 Programming problems from some of the best online judges like Leetcode.com, Codechef.com etc.
  • 🎉 Each problem has an intuition section, followed by the algorithm and the pseudo-code, and finally the implementation. Additionally, the problems are embellished with explanatory images and animations to provide clarity of thought.
  • ✏️ For now, we only add solutions in Python for the questions. Contributions are always welcome for solutions in other programming languages.

How to Contribute ?

When people start off with their programming journey, they usually come across algorithms like Linear Search, Bubble Sort, Insertion Sort and much more. There are a bazillion resources out there for such introductory algorithms.

Our aim with CoderChef Kitchen (Don't miss that 'r' 😅) is not to add articles just for the sake of it. Our main intention is to add articles that bring across some important programming concepts or some new algorithmic techniques or some interesting implementation ideas that we don't generally find online.

In addition to this, we want to make programming fun for people out there. We want to break away from the common notion of "tech articles are boring and serious". They can be pretty fun and addictive to read, if projected in a certain way.

There are multiple ways in which you can contribute. There are no "prerequisites" as such for you to become a contributor. Essentially, you can do either of the following:

  1. Pick up one of the existing problems from the repository and add a solution in a language not already present in the repo. For e.g. a lot of problems currently only have solutions in Python. It would be great to have solutions in other common languages like Java or C/C++.

    An important thing to consider here is that the solution you provide must be in line with the algorithm(s) already explained in the article. In case you are writing a new algorithm which has not been explained already, then make sure to add relevant explanation to the article as well.

  2. The second way for you to contribute is by picking a problem which is not already there in the repository and contribute solution(s) and an article for it.

    A picture is worth a thousand words

    That is our motto. The articles that we write tend to be full of illustrations in the form of explanatory diagrams and gifs/videos/animations. Anything that helps explain the algorithm better. We would love future articles to be along the same lines as well. For a detailed set of guidelines for contributing a new article, read the instructions below.

Contribution Guideline

  1. The first thing you should do is, convey what you want to contribute. To make it a very streamlined process, create an issue in the repository describing the problem you want to pick. Also, in 1-2 lines explain why you think this problem should be added to the repo.

    Kindly note this step is only to be sure that your efforts won't go to waste. Once the issue is approved, you can go ahead with article. This still doesn't guarantee that your article would be accepted on the first go. Our only suggestion is stick to the template (read below) and be as creative as possible. We are always there to help and learn in the process.

  2. Clone the repo using the command

    git clone https://github.com/DivyaGodayal/CoderChef-Kitchen.git
    
  3. For every new problem, create a separate folder in the respective section. For e.g. if you are solving a problem on LeetCode related to Dynamic Programming, create a folder for the problem under the Dynamic Programming folder.

    mkdir Dynamic-Programming/<Problem Name>
    
  4. The newly created folder must contain a README.md file and solution.py file. If there are multiple solutions, you can name the solutions accordingly. e.g. solution_min_heap.py or solution_recursive.py.

    touch README.md
    touch solution.py
    
  5. For writing the README.md file, follow the template provided here.

  6. Ideally, every approach to a programming problem should have the following sections:

    1. Motivation.
    2. Algorithm.
    3. Implementation Details. (Optional)
    4. Complexity Analysis.
  7. Once you are done writing the article and the solutions, remember to add the problem to the table on the main README page. (Look at the table of contents below).

  8. Once all your changes are done, create a local commit.

    git add .
    git commit -am "Added article and solution for <Problem-Name>"
    
  9. Push your changes to a separate branch for the problem. This new branch should be deleted once the PR is merged.

    git push origin master:<branch_name>
    
  10. Raise a Pull Request. This step is very important. For any changes you want to make to the repository, you have to raise a pull request. For further reading on how to raise a PR, read this.

  11. In case of any doubt in the above steps, reach out to us. :)

Adhoc Problems

Problem Platform Link
1 Daily Temperatues LeetCode Link
2 Fake Binary Search CodeChef Link
3 Fizz Buzz LeetCode Link
4 Hand of Straights LeetCode Link
5 Implement Magic Dictionary LeetCode Link
6 Integer to English-Words LeetCode Link
7 Lemonade Change LeetCode Link
8 Minimum in Rotated Sorted Array LeetCode Link
9 Minimum Refueling Stops LeetCode Link
10 Score After Flipping Matrix LeetCode Link
11 Score of Parentheses LeetCode Link
12 Set Matrix Zeros LeetCode Link
13 Spiral Matrix LeetCode Link
14 Split Array into Fibonacci Sequence LeetCode Link
15 Task Scheduler LeetCode Link
16 2 Sum LeetCode Link
17 3 Sum LeetCode Link
18 4 Sum LeetCode Link
19 Advantage Shuffle LeetCode Link
20 Next Greater Element I LeetCode Link
21 Next Greater Element II LeetCode Link
22 Rotate Array LeetCode Link
23 Maximum Product of Word Lengths LeetCode Link
24 Asteroid Collision LeetCode Link
25 Generate Parantheses LeetCode Link
26 Top K Frequent Words LeetCode Link

Dynamic Programming

1 2-Keys LeetCode Link
2 4-Keys LeetCode Link
3 Change the Signs CodeChef Link
4 Matchsticks to Square LeetCode Link
5 Soup Servings LeetCode Link
6 Optimal Division LeetCode Link
7 Largest Sum of Averages LeetCode Link
8 Climbing Stairs LeetCode Link
9 Video Stitching LeetCode Link

Graphs and Trees

1 All Nodes Distance K in Binary Tree LeetCode Link
2 Bus Routes LeetCode Link
3 Cheapest Flight Within K Stops LeetCode Link
4 Cracking the Safe LeetCode Link
5 Evaluate Division LeetCode Link
6 Flatten Binary Tree LeetCode Link
7 Making A Large Island LeetCode Link
8 Path Sum LeetCode Link
9 Remove Invalid Parenthesis LeetCode Link
10 Sum of Distances In a Tree LeetCode Link
11 Word Search LeetCode Link
12 Number of Islands LeetCode Link
13 Largest-Value in Each Tree Row LeetCode Link
14 Construct a Binary Tree from in-order and Postorder Traversal LeetCode Link
15 Add One Row to Tree LeetCode Link

Linked-List

1 DeepCopy LeetCode Link
2 Remove Nth Node from End of List LeetCode Link
3 Remove Duplicates from Sorted List I LeetCode Link
4 Remove Duplicates from Sorted List II LeetCode Link
5 Sort List LeetCode Link
6 Swap Nodes in Pairs LeetCode Link
7 Linked List Components LeetCode Link

Strings

1 Isomorphic Strings LeetCode Link
2 Minimum Window Substring LeetCode Link
3 Partition Labels LeetCode Link
4 Reorganize String LeetCode Link
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].