Skip to content

AAdewunmi/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

Project Title:

Grokking the Coding Interview Patterns: Includes Topic Tutorials Plus LeetCode Questions & Solutions in JAVA ☕️

1. Project Description:

This repository contains topic tutorials on "must know" coding interview patterns, their associated LeetCode questions and solutions in Java programming language. It is based on "Grokking the Coding Interview: Patterns for Coding Questions" by Design Gurus.

Each section is structured as follows:

* Bitwise XOR

    L Bitwise_XOR_Tutorial.txt (What is Bitwise XOR (exclusive OR)?)
    
    L Problem_1_Single_Number.java (LeetCode Question: 136. Single Number)

    L Problem_2_Two_Single_Numbers.java (LeetCode Question: 260. Single Number III)

    L Problem_3_Complement_Of_Base_10_Number.java (LeetCode Question: 1009. Complement of Base 10 Integer)

    L Problem_4_Flip_And_Invert_An_Image.java (LeetCode Question: 832. Flipping an Image)

2. Prerequisites:

Before solving Leetcode problems, make sure you are familiar with the following:

* Fundermentals of programming in Java Language

* Collections in Java 
    
    L Interfaces: Set, List, Queue, Deque 

    L Classes: ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet, etc.

* Data Structures and Algorithms in Java

    L Data Structure: Stack, Queue, Graph, Tree, etc.

    L Algorithms: Sorting, Searching, etc

3. Outline:

Coding Interview Patterns are classified according to skills level:

* Fundamental:

1. Two Pointers

2. Fast And Slow Pointers

3. Sliding Window

4. Merge Intervals

5. Cyclic Sort

6. LinkedList - In-Place Reversal

7. Stack

8. Island Pattern (Matrix Traversal)

9. Prefix Sum

* Intermediate:

1. Hash Map

2. Tree - Breadth First Search

3. Tree - Depth First Search

4. Graph

5. Heap

6. Modified Binary Search

7. Top K Elements

8. K Way Merge

9. Greedy Algorithm

10. Concurrency

* Advanced:

1. Monotonic Stack

2. Subsets

3. Bitwise XOR

4. Dynamic Programming

5. Backtracking

6. Trie

7. Topological Sort

8. Union Find (Disjoint-Set Data Structure)

9. Ordered Set

*** Below is a visual representation of the three main pillars that make up Data Structures and Algorithms for Coding Interview's

i.e. Data Structures, Algorithms, and Problem-Solving Techniques. It demonstrates the relationship between these three pillar's of

Computer Science knowledge.

download

Reproduced from "How I Mastered Data Structures and Algorithms" By Ashish Pratap Singh

URL: https://blog.algomaster.io/p/15-leetcode-patterns

4. Installation:

i. Clone the git repo

https://github.com/AAdewunmi/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions.git

ii. Open project folder

iii. Explore

😎

5. Resources:

I acknowledge the use of LeetCode for coding interview questions 👨‍💻, OpenAI's ChatGPT for topic explanation and solutions to coding questions 🤖.

6. Contributing:

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

7. Adapted from:

Project Name: "Grokking the Coding Interview: Patterns for Coding Questions"

Created by: Design Gurus (2024).

URL: https://www.designgurus.io/course-play/grokking-the-coding-interview/doc/63afd6338d316e91ad9fc027