{"id":16417309,"url":"https://github.com/dipjul/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions","last_synced_at":"2025-10-26T20:30:24.954Z","repository":{"id":37453443,"uuid":"236367365","full_name":"dipjul/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions","owner":"dipjul","description":"Grokking the Coding Interview: Patterns for Coding Questions Alternative","archived":false,"fork":false,"pushed_at":"2024-08-11T09:58:03.000Z","size":809,"stargazers_count":2620,"open_issues_count":2,"forks_count":618,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-02-01T09:15:53.002Z","etag":null,"topics":["algorithm","algorithms","coding-interviews","data-structures","interview","interview-questions"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dipjul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-26T19:52:53.000Z","updated_at":"2025-02-01T05:09:15.000Z","dependencies_parsed_at":"2024-03-03T09:36:04.271Z","dependency_job_id":"ccf3abf0-9abe-4b1e-a174-af6ee0488e36","html_url":"https://github.com/dipjul/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipjul%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipjul%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipjul%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipjul%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dipjul","download_url":"https://codeload.github.com/dipjul/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238394323,"owners_count":19464583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","algorithms","coding-interviews","data-structures","interview","interview-questions"],"created_at":"2024-10-11T07:11:25.883Z","updated_at":"2025-10-26T20:30:24.948Z","avatar_url":"https://github.com/dipjul.png","language":null,"readme":"# Coding Interview Patterns\n\n## Coding Interview Patterns\n\n### 1. Pattern: Two Pointers\n\n1. Introduction\n2. Pair with Target Sum (easy) [LeetCode](https://leetcode.com/problems/two-sum/)\n3. Remove Duplicates (easy) [LeetCode](https://leetcode.com/problems/remove-duplicates-from-sorted-list/) [LeetCode](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/) [LeetCode](https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/) [LeetCode](https://leetcode.com/problems/find-the-duplicate-number/) [LeetCode](https://leetcode.com/problems/duplicate-zeros/)\n4. Squaring a Sorted Array (easy) [LeetCode](https://leetcode.com/problems/squares-of-a-sorted-array/)\n5. Triplet Sum to Zero (medium) [LeetCode](https://leetcode.com/problems/3sum/)\n6. Triplet Sum Close to Target (medium) [LeetCode](https://leetcode.com/problems/3sum-closest/)\n7. Triplets with Smaller Sum (medium) [LintCode](https://www.lintcode.com/problem/3sum-smaller/description)\n8. Subarrays with Product Less than a Target (medium) [LeetCode](https://leetcode.com/problems/subarray-product-less-than-k/)\n9. Dutch National Flag Problem (medium) [CoderByte](https://coderbyte.com/algorithm/dutch-national-flag-sorting-problem)\n10. Problem Challenge 1: Quadruple Sum to Target (medium) [Leetcode](https://leetcode.com/problems/4sum/)\n11. Problem Challenge 2: Comparing Strings containing Backspaces (medium) [Leetcode](https://leetcode.com/problems/backspace-string-compare/)\n12. Problem Challenge 3: Minimum Window Sort (medium) [Leetcode](https://leetcode.com/problems/shortest-unsorted-continuous-subarray/) [Ideserve](https://www.ideserve.co.in/learn/minimum-length-subarray-sorting-which-results-in-sorted-array)\n\n### 2. Pattern: Fast \u0026 Slow pointers\n\n1. Introduction [emre.me](https://emre.me/coding-patterns/fast-slow-pointers/)\n2. LinkedList Cycle (easy) [Leetcode](https://leetcode.com/problems/linked-list-cycle/)\n3. Start of LinkedList Cycle (medium) [Leetcode](https://leetcode.com/problems/linked-list-cycle-ii/)\n4. Happy Number (medium) [Leetcode](https://leetcode.com/problems/happy-number/)\n5. Middle of the LinkedList (easy) [Leetcode](https://leetcode.com/problems/middle-of-the-linked-list/)\n6. Problem Challenge 1: Palindrome LinkedList (medium) [Leetcode](https://leetcode.com/problems/palindrome-linked-list/)\n7. Problem Challenge 2: Rearrange a LinkedList (medium) [Leetcode](https://leetcode.com/problems/reorder-list/)\n8. Problem Challenge 3: Cycle in a Circular Array (hard) [Leetcode](https://leetcode.com/problems/circular-array-loop/)\n\n### 3. Pattern: Sliding Window\n\n1. Introduction\n2. Maximum Sum Subarray of Size K (easy)\n3. Smallest Subarray with a given sum (easy) [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/7XMlMEQPnnQ)\n4. Longest Substring with K Distinct Characters (medium) [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/YQQwQMWLx80)\n5. Fruits into Baskets (medium) [LeetCode](https://leetcode.com/problems/fruit-into-baskets/)\n6. No-repeat Substring (hard) [LeetCode](https://leetcode.com/problems/longest-substring-without-repeating-characters/)\n7. Longest Substring with Same Letters after Replacement (hard) [LeetCode](https://leetcode.com/problems/longest-repeating-character-replacement/)\n8. Longest Subarray with Ones after Replacement (hard) [LeetCode](https://leetcode.com/problems/max-consecutive-ones-iii/)\n9. Problem Challenge 1: Permutation in a String (hard) [Leetcode](https://leetcode.com/problems/permutation-in-string/)\n10. Problem Challenge 2: String Anagrams (hard) [Leetcode](https://leetcode.com/problems/find-all-anagrams-in-a-string/)\n11. Problem Challenge 3: Smallest Window containing Substring (hard) [Leetcode](https://leetcode.com/problems/minimum-window-substring/)\n12. Problem Challenge 4: Words Concatenation (hard) [Leetcode](https://leetcode.com/problems/substring-with-concatenation-of-all-words/)\n\n### 4. Pattern: Merge Intervals\n\n1. Introduction [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/3YVYvogqXpA)\n2. Merge Intervals (medium) [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/3jyVPKRA8yx)\n3. Insert Interval (medium) [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/3jKlyNMJPEM)\n4. Intervals Intersection (medium) [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/JExVVqRAN9D)\n5. Conflicting Appointments (medium) [Geeksforgeeks](https://www.geeksforgeeks.org/check-if-any-two-intervals-overlap-among-a-given-set-of-intervals/)\n6. Problem Challenge 1: Minimum Meeting Rooms (hard) [Lintcode](https://www.lintcode.com/problem/meeting-rooms-ii/)\n7. Problem Challenge 2: Maximum CPU Load (hard) [Geeksforgeeks](https://www.geeksforgeeks.org/maximum-cpu-load-from-the-given-list-of-jobs/)\n8. Problem Challenge 3: Employee Free Time (hard) [CoderTrain](https://www.codertrain.co/employee-free-time)\n\n### 5. Pattern: Cyclic Sort\n\n1. Introduction [emre.me](https://emre.me/coding-patterns/cyclic-sort/)\n2. Cyclic Sort (easy) [Geeksforgeeks](https://www.geeksforgeeks.org/sort-an-array-which-contain-1-to-n-values-in-on-using-cycle-sort/)\n3. Find the Missing Number (easy) [Leetcode](https://leetcode.com/problems/missing-number/)\n4. Find all Missing Numbers (easy) [Leetcode](https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/)\n5. Find the Duplicate Number (easy) [Leetcode](https://leetcode.com/problems/find-the-duplicate-number/)\n6. Find all Duplicate Numbers (easy) [Leetcode](https://leetcode.com/problems/find-all-duplicates-in-an-array/)\n7. Problem Challenge 1: Find the Corrupt Pair (easy) [TheCodingSimplified](https://thecodingsimplified.com/find-currupt-pair/)\n8. Problem Challenge 2: Find the Smallest Missing Positive Number (medium) [Leetcode](https://leetcode.com/problems/first-missing-positive/)\n9. Problem Challenge 3: Find the First K Missing Positive Numbers (hard) [TheCodingSimplified](https://thecodingsimplified.com/find-the-first-k-missing-positive-number/)\n\n### 6. Pattern: In-place Reversal of a LinkedList\n\n1. Introduction [emre.me](https://emre.me/coding-patterns/in-place-reversal-of-a-linked-list/)\n2. Reverse a LinkedList (easy) [Leetcode](https://leetcode.com/problems/reverse-linked-list/)\n3. Reverse a Sub-list (medium) [Leetcode](https://leetcode.com/problems/reverse-linked-list-ii/)\n4. Reverse every K-element Sub-list (medium) [Leetcode](https://leetcode.com/problems/reverse-nodes-in-k-group/)\n5. Problem Challenge 1: Reverse alternating K-element Sub-list (medium) [Geeksforgeeks](https://www.geeksforgeeks.org/reverse-alternate-k-nodes-in-a-singly-linked-list/)\n6. Problem Challenge 2: Rotate a LinkedList (medium) [Leetcode](https://leetcode.com/problems/rotate-list/)\n\n### 7. Pattern: Stack\n\n1. Introduction to Stack (Operations, Implementation, Applications)\n2. Balanced Parentheses [Leetcode](https://leetcode.com/problems/valid-parentheses/description/)\n3. Reverse a String\n4. Decimal to Binary Conversion\n5. Next Greater Element [Leetcode - I](https://leetcode.com/problems/next-greater-element-i/) [Leetcode -II](https://leetcode.com/problems/next-greater-element-ii/) [Leetcode - III (Hard)](https://leetcode.com/problems/next-greater-element-iv/)\n6. Sorting a Stack \n7. Simplify Path [Leetcode](https://leetcode.com/problems/simplify-path/)  \n\n### 8. Pattern: Monotonic Stack\n\n1. Introduction to Monotonic Stack\n2. Next Greater Element (easy) [Leetcode - I](https://leetcode.com/problems/next-greater-element-i/) [Leetcode -II](https://leetcode.com/problems/next-greater-element-ii/) [Leetcode - III (Hard)](https://leetcode.com/problems/next-greater-element-iv/)\n3. Daily Temperatures (easy) [Leetcode](https://leetcode.com/problems/daily-temperatures/)\n4. Remove Nodes From Linked List (easy) [Leetcode](https://leetcode.com/problems/remove-nodes-from-linked-list/)\n5. Remove All Adjacent Duplicates In String (easy) [Leetcode](https://leetcode.com/problems/remove-all-adjacent-duplicates-in-string/)  \n6. Remove All Adjacent Duplicates in String II (medium) [Leetcode](https://leetcode.com/problems/remove-all-adjacent-duplicates-in-string-ii/)\n7. Remove K Digits (hard) [Leetcode](https://leetcode.com/problems/remove-k-digits/)  \n\n### 9. Pattern: Hash Maps\n\n1. Introduction (Hashing, Hash Tables, Issues)\n2. First Non-repeating Character (easy) [Leetcode](https://leetcode.com/problems/first-unique-character-in-a-string/)  \n3. Largest Unique Number (easy) [Leetcode+](https://leetcode.com/problems/largest-unique-number/)  \n4. Maximum Number of Balloons (easy) [Leetcode](https://leetcode.com/problems/maximum-number-of-balloons/)  \n5. Longest Palindrome(easy) [Leetcode](https://leetcode.com/problems/longest-palindrome/)  \n6. Ransom Note (easy) [Leetcode](https://leetcode.com/problems/ransom-note/)  \n\n### 10. Pattern: Tree Breadth First Search\n\n1. Introduction\n2. Binary Tree Level Order Traversal (easy) [Leetcode](https://leetcode.com/problems/binary-tree-level-order-traversal/)\n3. Reverse Level Order Traversal (easy) [Leetcode](https://leetcode.com/problems/binary-tree-level-order-traversal-ii/)\n4. Zigzag Traversal (medium) [Leetcode](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)\n5. Level Averages in a Binary Tree (easy) [Leetcode](https://leetcode.com/problems/average-of-levels-in-binary-tree/)\n6. Minimum Depth of a Binary Tree (easy) [Leetcode](https://leetcode.com/problems/minimum-depth-of-binary-tree/)\n7. Maximum Depth of a Binary Tree (easy) [Leetcode](https://leetcode.com/problems/maximum-depth-of-binary-tree/)\n8. Level Order Successor (easy) [Geeksforgeeks](https://www.geeksforgeeks.org/level-order-successor-of-a-node-in-binary-tree/)\n9. Connect Level Order Siblings (medium) [Leetcode](https://leetcode.com/problems/populating-next-right-pointers-in-each-node/)\n10. Problem Challenge 1: Connect All Level Order Siblings (medium) [Educative](https://www.educative.io/m/connect-all-siblings)\n11. Problem Challenge 2: Right View of a Binary Tree (easy) [Leetcode](https://leetcode.com/problems/binary-tree-right-side-view/)\n\n\n### 11. Pattern: Tree Depth First Search\n\n1. Introduction\n2. Binary Tree Path Sum (easy) [Leetcode](https://leetcode.com/problems/path-sum/)\n3. All Paths for a Sum (medium) [Leetcode](https://leetcode.com/problems/path-sum-iii/)\n4. Sum of Path Numbers (medium) [Leetcode](https://leetcode.com/problems/sum-root-to-leaf-numbers/)\n5. Path With Given Sequence (medium) [Geeksforgeeks](https://www.geeksforgeeks.org/check-root-leaf-path-given-sequence/)\n6. Count Paths for a Sum (medium) [Leetcode](https://leetcode.com/problems/path-sum-iii/)\n7. Problem Challenge 1: Tree Diameter (medium) [Leetcode](https://leetcode.com/problems/diameter-of-binary-tree/)\n8. Problem Challenge 2: Path with Maximum Sum (hard) [Leetcode](https://leetcode.com/problems/binary-tree-maximum-path-sum/)\n\n\n### 12. Pattern: Graphs\n\n1. Introduction to Graph (Representations, Abstract Data Type (ADT))\n2. Graph Traversal: Depth First Search(DFS)\n3. Graph Traversal: Breadth First Search (BFS)\n4. Find if Path Exists in Graph(easy) [Leetcode](https://leetcode.com/problems/find-if-path-exists-in-graph/)  \n5. Number of Provinces (medium) [Leetcode](https://leetcode.com/problems/number-of-provinces/)  \n6. Minimum Number of Vertices to Reach All Nodes(medium) [Leetcode](https://leetcode.com/problems/minimum-number-of-vertices-to-reach-all-nodes/)  \n\n\n### 13. Pattern: Island (Matrix traversal)\n\n1. Introduction to Island Pattern\n2. Number of Islands (easy) [Leetcode](https://leetcode.com/problems/number-of-islands/)  \n3. Biggest Island (easy)\n4. Flood Fill (easy) [Leetcode](https://leetcode.com/problems/flood-fill/)  \n5. Number of Closed Islands (easy) [Leetcode](https://leetcode.com/problems/number-of-closed-islands/)  \n6. Problem Challenge 1 (easy)\n7. Problem Challenge 2 (medium)\n8. Problem Challenge 3 (medium)\n\n\n### 14. Pattern: Two Heaps\n\n1. Introduction\n2. Find the Median of a Number Stream (medium) [Leetcode](https://leetcode.com/problems/find-median-from-data-stream/)\n3. Sliding Window Median (hard) [Leetcode](https://leetcode.com/problems/sliding-window-median/)\n4. Maximize Capital (hard) [Leetcode](https://leetcode.com/problems/ipo/)\n\n5. **Maximum Sum Combinations* (medium) [InterviewBit](https://www.interviewbit.com/problems/maximum-sum-combinations/)\n\n\n### 15. Pattern: Subsets\n\n1. Introduction [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/R87WmWYrELz)\n2. Subsets (easy) [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/gx2OqlvEnWG)\n3. Subsets With Duplicates (easy) [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/7npk3V3JQNr)\n4. Permutations (medium) [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/B8R83jyN3KY)\n5. String Permutations by changing case (medium)\n6. Balanced Parentheses (hard)\n7. Unique Generalized Abbreviations (hard) [Leetcode](https://leetcode.com/problems/generalized-abbreviation/)\n\n\n### [16. Pattern: Modified Binary Search](binary-search/BinarySearch.md)\n\n1. Introduction [Complete Pattern Theory and Solutions](binary-search/BinarySearch.md)  \n2. Order-agnostic Binary Search (easy) [Geeksforgeeks](https://www.geeksforgeeks.org/order-agnostic-binary-search/)  \n3. Ceiling of a Number (medium) [Geeksforgeeks-Ceil](https://www.geeksforgeeks.org/ceiling-in-a-sorted-array/) [Geeksforgeeks-Floor](https://www.geeksforgeeks.org/floor-in-a-sorted-array/)  \n4. Next Letter (medium) [Leetcode](https://leetcode.com/problems/find-smallest-letter-greater-than-target/)  \n5. Number Range (medium) [Leetcode](https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/)  \n6. Search in a Sorted Infinite Array (medium) [Leetcode](https://www.geeksforgeeks.org/find-position-element-sorted-array-infinite-numbers/)  \n7. Minimum Difference Element (medium): Find the floor \u0026 ceil take the difference, minimum would be the ans\n8. Bitonic Array Maximum (easy) [Geeksforgeeks](https://www.geeksforgeeks.org/find-the-maximum-element-in-an-array-which-is-first-increasing-and-then-decreasing/)\n9. Problem Challenge 1: Search Bitonic Array (medium) [Leetcode](https://leetcode.com/problems/find-in-mountain-array/)  \n10. Problem Challenge 2: Search in Rotated Array (medium) [Leetcode](https://leetcode.com/problems/search-in-rotated-sorted-array/)\n11. Problem Challenge 3: Rotation Count (medium) [Geeksforgeeks](https://www.geeksforgeeks.org/find-rotation-count-rotated-sorted-array/)\n12. *Search a 2D Matrix (medium) [Leetcode](https://leetcode.com/problems/search-a-2d-matrix/)  \n13. *Minimum Number of Days to Make m Bouquets (medium) [Leetcode](https://leetcode.com/problems/minimum-number-of-days-to-make-m-bouquets/)\n14. *Koko Eating Bananas (medium) [Leetcode](https://leetcode.com/problems/koko-eating-bananas/)\n15. *Capacity To Ship Packages Within D Days (medium) [Leetcode](https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/)\n16. *Median of Two Sorted Arrays (hard) [Leetcode](https://leetcode.com/problems/median-of-two-sorted-arrays/)\n\n\n### 17. Pattern: Bitwise XOR\n\n1. Introduction\n2. Single Number (easy)\n3. Two Single Numbers (medium)\n4. Complement of Base 10 Number (medium)\n5. Problem Challenge 1: Flip and Invert an Image (hard)\n\n\n### 18. Pattern: Top 'K' Elements\n\n1. [Introduction](13.-pattern-top-k-elements/01.Introduction.md)\n2. Top 'K' Numbers (easy) [Solution](13.-pattern-top-k-elements/02.top-k-numbers.md)\n3. Kth Smallest Number (easy)\n4. 'K' Closest Points to the Origin (easy) [Leetcode](https://leetcode.com/problems/k-closest-points-to-origin/)\n5. Connect Ropes (easy)\n6. Top 'K' Frequent Numbers (medium)\n7. Frequency Sort (medium)\n8. Kth Largest Number in a Stream (medium) [Leetcode](https://leetcode.com/problems/kth-largest-element-in-a-stream/)\n9. 'K' Closest Numbers (medium)\n10. Maximum Distinct Elements (medium)\n11. Sum of Elements (medium)\n12. Rearrange String (hard) \u003cbr\u003e\n13. Problem Challenge 1: Rearrange String K Distance Apart (hard)\n14. Problem Challenge 2: Scheduling Tasks (hard)\n15. Problem Challenge 3: Frequency Stack (hard)\n\n16. *[*Heap Implementation*](13.-pattern-top-k-elements/13.HeapImplementation.md)\n\n\n### 19. Pattern: K-way merge\n\n1. Introduction\n2. Merge K Sorted Lists (medium) [Leetcode](https://leetcode.com/problems/merge-k-sorted-lists/)  \n3. Kth Smallest Number in M Sorted Lists (Medium) [Geeksforgeeks](https://www.geeksforgeeks.org/find-m-th-smallest-value-in-k-sorted-arrays/)\n4. Kth Smallest Number in a Sorted Matrix (Hard) [Educative.io](https://www.educative.io/courses/grokking-the-coding-interview/x1NJVYKNvqz)\n5. Smallest Number Range (Hard) [Leetcode](https://leetcode.com/problems/smallest-range-covering-elements-from-k-lists/)  \n6. Problem Challenge 1: K Pairs with Largest Sums (hard)\n\n\n### 20. Pattern: Greedy Algorithms\n\n1. Introduction to Greedy Algorithm\n2. Valid Palindrome II (easy) [Leetcode](https://leetcode.com/problems/valid-palindrome-ii/)  \n3. Maximum Length of Pair Chain (medium) [Leetcode](https://leetcode.com/problems/maximum-length-of-pair-chain/)\n4. Minimum Add to Make Parentheses Valid (medium) [Leetcode](https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/)\n5. Remove Duplicate Letters (medium) [Leetcode](https://leetcode.com/problems/remove-duplicate-letters/)\n6. Largest Palindromic Number (Medium) [Leetcode](https://leetcode.com/problems/largest-palindromic-number/)  \n7. Removing Minimum and Maximum From Array (medium) [Leetcode](https://leetcode.com/problems/removing-minimum-and-maximum-from-array/)  \n\n\n### 21. Pattern : 0/1 Knapsack (Dynamic Programming)\n\n1. Introduction\n2. 0/1 Knapsack (medium) [Geeksforgeeks](https://www.geeksforgeeks.org/0-1-knapsack-problem-dp-10/)\n3. Equal Subset Sum Partition (medium) [Leetcode](https://leetcode.com/problems/partition-equal-subset-sum/)\n4. Subset Sum (medium) [Geeksforgeeks](https://www.geeksforgeeks.org/subset-sum-problem-dp-25/)\n5. Minimum Subset Sum Difference (hard) [Geeksforgeeks](https://www.geeksforgeeks.org/partition-a-set-into-two-subsets-such-that-the-difference-of-subset-sums-is-minimum/)\n6. Problem Challenge 1: Count of Subset Sum (hard)\n7. Problem Challenge 2: Target Sum (hard)\n\n\n### 22. Pattern: Backtracking\n\n1. Introduction to Backtracking Pattern\n2. Combination Sum (medium) [Leetcode - I](https://leetcode.com/problems/combination-sum/) [Leetcode - II](https://leetcode.com/problems/combination-sum-ii/) [Leetcode - III](https://leetcode.com/problems/combination-sum-iii/) [Leetcode - IV](https://leetcode.com/problems/combination-sum-iv/)  \n3. Word Search (medium) [Leetcode - I](https://leetcode.com/problems/word-search/) [Leetcode - II (Hard)](https://leetcode.com/problems/word-search-ii/)\n4. Sudoku Solver (hard) [Leetcode](https://leetcode.com/problems/sudoku-solver/)\n5. Factor Combinations (medium) [Leetcode+](https://leetcode.com/problems/factor-combinations/)\n6. Split a String Into the Max Number of Unique Substrings (medium) [Leetcode](https://leetcode.com/problems/split-a-string-into-the-max-number-of-unique-substrings/)\n\n\n### 23. Pattern: Trie\n\n1. Introduction to Trie\n2. Implement Trie (Prefix Tree) (medium) [Leetcode](https://leetcode.com/problems/implement-trie-prefix-tree/)  \n3. Index Pairs of a String (easy) [Leetcode+](https://leetcode.com/problems/index-pairs-of-a-string/)\n4. Design Add and Search Words Data Structure (medium) [Leetcode](https://leetcode.com/problems/design-add-and-search-words-data-structure/)\n5. Extra Characters in a String (medium) [Leetcode](https://leetcode.com/problems/extra-characters-in-a-string/)\n6. Search Suggestions System (medium) [Leetcode](https://leetcode.com/problems/search-suggestions-system/)\n\n\n### 24. Pattern: Topological Sort (Graph)\n\n1. Introduction\n2. Topological Sort (medium) [Youtube](https://www.youtube.com/watch?v=cIBFEhD77b4)\n3. Tasks Scheduling (medium) [Leetcode-Similar](https://leetcode.com/problems/course-schedule/)\n4. Tasks Scheduling Order (medium) [Leetcode-Similar](https://leetcode.com/problems/course-schedule/)\n5. All Tasks Scheduling Orders (hard) [Leetcode-Similar](https://leetcode.com/problems/course-schedule-ii/)\n6. Alien Dictionary (hard) [Leetcode](https://leetcode.com/problems/alien-dictionary/)\n7. Problem Challenge 1: Reconstructing a Sequence (hard) [Leetcode](https://leetcode.com/problems/sequence-reconstruction/)\n8. Problem Challenge 2: Minimum Height Trees (hard) [Leetcode](https://leetcode.com/problems/minimum-height-trees/)\n\n\n### 25. Pattern: Union Find\n\n1. Introduction to Union Find Pattern\n2. Redundant Connection (medium) [Leetcode - I](https://leetcode.com/problems/redundant-connection/) [Leetcode - II (Hard)](https://leetcode.com/problems/redundant-connection-ii/)  \n3. Number of Provinces (medium) [Leetcode](https://leetcode.com/problems/number-of-provinces/)\n4. Is Graph Bipartite? (medium) [Leetcode](https://leetcode.com/problems/is-graph-bipartite/)\n5. Path With Minimum Effort (medium) [Leetcode](https://leetcode.com/problems/path-with-minimum-effort/)\n\n\n### 26. Ordered Set\n\n1. Introduction to Ordered Set Pattern\n2. Merge Similar Items (easy) [Leetcode](https://leetcode.com/problems/merge-similar-items/)  \n3. 132 Pattern (medium) [Leetcode](https://leetcode.com/problems/132-pattern/)  \n4. My Calendar I (medium) [Leetcode](https://leetcode.com/problems/my-calendar-i/) [Leetcode - II](https://leetcode.com/problems/my-calendar-ii/) [Leetcode - III (Hard)](https://leetcode.com/problems/my-calendar-iii/)  \n5. Longest Continuous Subarray (medium)\n\n\n### 27. Pattern: Multi-thread\n\n1. Introduction to Multi-threaded Pattern\n2. Same Tree (medium)\n3. Invert Binary Tree (medium)\n4. Binary Search Tree Iterator (medium)\n\n\n### 28. Miscellaneous\n\n1. Kth Smallest Number (hard)\n\n\n### Revision\n\n1. [Coding Patterns: A Cheat Sheet](revision/Revision.md)\n\n\n### Test Your Knowledge\n1. [Easy Problems](test-your-knowledge/1.EasyProblems.md)\n2. [Medium Problems](test-your-knowledge/2.MediumProblems.md)\n3. [Hard Problems](test-your-knowledge/3.HardProblems.md)\n\n\n\u003e ***Note:*** Problems marked with `*` are added as per my recommendations.\n","funding_links":[],"categories":["Others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdipjul%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdipjul%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdipjul%2FGrokking-the-Coding-Interview-Patterns-for-Coding-Questions/lists"}