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

$$\textcolor{red}{\text{UNDER CONSTRUCTION}}$$

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. 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) 

This coding interview resource is based on "Grokking the Coding Interview: Patterns for Coding Questions" by Design Gurus.

I am an advocate of learning-in-public, so I thought I'd create a public repository to keep all my learning on preparation for FAANGM coding interviews.

Hope you find it useful 😎

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

4. Resources:

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

5. Adapted from:

"Grokking the Coding Interview: Patterns for Coding Questions" by Design Gurus (2024).

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