Patterns for Coding Questions¶
Contents:
- 1. Sliding Window
- 1.1. Maximum Sum Subarray of Size K (easy)
- 1.2. Smallest Subarray with a given sum (easy)
- 1.3. Longest Substring with K Distinct Characters (medium)
- 1.4. Fruits into Baskets (medium)
- 1.5. No-repeat Substring (hard)
- 1.6. Longest Substring with Same Letters after Replacement (hard)
- 1.7. Longest Subarray with Ones after Replacement (hard)
- 1.8. Problem Challenge 1 - Permutation in a String (hard)
- 1.9. Problem Challenge 2 - String Anagrams (hard)
- 1.10. Problem Challenge 3 - Smallest Window containing Substring (hard)
- 1.11. Problem Challenge 4 - Words Concatenation (hard)
- 2. Two Points
- 2.1. Pair with Target Sum (easy)
- 2.2. Remove Duplicates (easy)
- 2.3. Squaring a Sorted Array (easy)
- 2.4. Triplet Sum to Zero (medium)
- 2.5. Triplet Sum Close to Target (medium)
- 2.6. Triplets with Smaller Sum (medium)
- 2.7. Subarrays with Product Less than a Target (medium)
- 2.8. Dutch National Flag Problem (medium)
- 2.9. Problem Challenge 1 - Quadruple Sum to Target (medium)
- 2.10. Problem Challenge 2 - Comparing Strings containing Backspaces (medium)
- 2.11. Problem Challenge 3 - Minimum Window Sort (medium)
- 3. Fast & Slow pointers
- 3.1. LinkedList Cycle (easy)
- 3.2. Start of LinkedList Cycle (medium)
- 3.3. Happy Number (medium)
- 3.4. Middle of the LinkedList (easy)
- 3.5. Problem Challenge 1 - Palindrome LinkedList (medium)
- 3.6. Problem Challenge 2 - Rearrange a LinkedList (medium)
- 3.7. Problem Challenge 3 - Cycle in a Circular Array (hard)
- 4. Merge Intervals
- 5. Cyclic Sort
- 5.1. Cyclic Sort (easy)
- 5.2. Find the Missing Number (easy)
- 5.3. Find all Missing Numbers (easy)
- 5.4. Find the Duplicate Number (easy)
- 5.5. Find all Duplicate Numbers (easy)
- 5.6. Problem Challenge 1 - Find the Corrupt Pair (easy)
- 5.7. Problem Challenge 2 - Find the Smallest Missing Positive Number (medium)
- 5.8. Problem Challenge 3 - Find the First K Missing Positive Numbers (hard)
- 6. In-place Reversal of a LinkedList
- 7. Tree Breadth First Search
- 7.1. Binary Tree Level Order Traversal (easy)
- 7.2. Reverse Level Order Traversal (easy)
- 7.3. Zigzag Traversal (medium)
- 7.4. Level Averages in a Binary Tree (easy)
- 7.5. Minimum Depth of a Binary Tree (easy)
- 7.6. Level Order Successor (easy)
- 7.7. Connect Level Order Siblings (medium)
- 7.8. Problem Challenge 1 - Connect All Level Order Siblings (medium)
- 7.9. Problem Challenge 2 - Right View of a Binary Tree (easy)
- 8. Tree Depth First Search
- 9. Two Heaps
- 10. Subsets
- 10.1. Subsets (easy)
- 10.2. Subsets With Duplicates (easy)
- 10.3. Permutations (medium)
- 10.4. String Permutations by changing case (medium)
- 10.5. Balanced Parentheses (hard)
- 10.6. Unique Generalized Abbreviations (hard)
- 10.7. Problem Challenge 1 - Evaluate Expression (hard)
- 10.8. Problem Challenge 2 - Structurally Unique Binary Search Trees (hard)
- 10.9. Problem Challenge 3 - Count of Structurally Unique Binary Search Trees (hard)
- 11. Modified Binary Search
- 11.1. Order-agnostic Binary Search (easy)
- 11.2. Ceiling of a Number (medium)
- 11.3. Next Letter (medium)
- 11.4. Number Range (medium)
- 11.5. Search in a Sorted Infinite Array (medium)
- 11.6. Minimum Difference Element (medium)
- 11.7. Bitonic Array Maximum (easy)
- 11.8. Problem Challenge 1 - Search Bitonic Array (medium)
- 11.9. Problem Challenge 2 - Search in Rotated Array (medium)
- 11.10. Problem Challenge 3 - Rotation Count (medium)
- 12. Bitwise XOR
- 13. Top ‘K’ Elements
- 13.1. Top ‘K’ Numbers (easy)
- 13.2. Kth Smallest Number (easy)
- 13.3. ‘K’ Closest Points to the Origin (easy)
- 13.4. Connect Ropes (easy)
- 13.5. Top ‘K’ Frequent Numbers (medium)
- 13.6. Frequency Sort (medium)
- 13.7. Kth Largest Number in a Stream (medium)
- 13.8. ‘K’ Closest Numbers (medium)
- 13.9. Maximum Distinct Elements (medium)
- 13.10. Sum of Elements (medium)
- 13.11. Rearrange String (hard)
- 13.12. Problem Challenge 1 - Rearrange String K Distance Apart (hard)
- 13.13. Problem Challenge 2 - Scheduling Tasks (hard)
- 13.14. Problem Challenge 3 - Frequency Stack (hard)
- 14. K-way merge
- 15. 0/1 Knapsack (Dynamic Programming)
- 16. Topological Sort (Graph)
- 17. Miscellaneous