Skip to content

Latest commit

 

History

History
136 lines (116 loc) · 4.4 KB

RESOURCES.md

File metadata and controls

136 lines (116 loc) · 4.4 KB

Resources

  • ACP - Knuth's Art of Computer Programming
  • ADM - Skiena's Algorithm Design Manual
  • CTCI - McDowell's Cracking the Coding Interview
  • EPI - Elements of Programming Interviews
  • IC - Interview Cake
  • ITA - Introduction to Algorithms, 3rd Edition
  • GTCI - Grokking the Coding Interview
  • LC - LeetCode
  • MCS - Mathematics for Computer Science

GTCI's Questions per "Pattern"

Taken from GTCI

  1. Pattern: Sliding Window

    • Maximum Sum Subarray of Size K (easy)
    • Smallest Subarray with a given sum (easy)
    • Longest Substring with K Distinct Characters (medium)
    • Fruits into Baskets (medium)
    • No-repeat Substring (hard)
    • Longest Substring with Same Letters after Replacement (hard)
    • Longest Subarray with Ones after Replacement (hard)
  2. Pattern: Two Pointers

    • Pair with Target Sum (easy)
    • Remove Duplicates (easy)
    • Squaring a Sorted Array (easy)
    • Triplet Sum to Zero (medium)
    • Triplet Sum Close to Target (medium)
    • Triplets with Smaller Sum (medium)
    • Subarrays with Product Less than a Target (medium)
    • Dutch National Flag Problem (medium)
  3. Pattern: Fast & Slow pointers

    • LinkedList Cycle (easy)
    • Start of LinkedList Cycle (medium)
    • Happy Number (medium)
    • Middle of the LinkedList (easy)
  4. Pattern: Merge Intervals

    • Merge Intervals (medium)
    • Insert Interval (medium)
    • Intervals Intersection (medium)
    • Conflicting Appointments (medium)
  5. Pattern: Cyclic Sort

    • Cyclic Sort (easy)
    • Find the Missing Number (easy)
    • Find all Missing Numbers (easy)
    • Find the Duplicate Number (easy)
    • Find all Duplicate Numbers (easy)
  6. Pattern: In-place Reversal of a LinkedList

    • Reverse a LinkedList (easy)
    • Reverse a Sub-list (medium)
    • Reverse every K-element Sub-list (medium)
  7. Pattern: Tree Breadth First Search

    • Binary Tree Level Order Traversal (easy)
    • Reverse Level Order Traversal (easy)
    • Zigzag Traversal (medium)
    • Level Averages in a Binary Tree (easy)
    • Minimum Depth of a Binary Tree (easy)
    • Level Order Successor (easy)
    • Connect Level Order Siblings (medium)
  8. Pattern: Tree Depth First Search

    • Binary Tree Path Sum (easy)
    • All Paths for a Sum (medium)
    • Sum of Path Numbers (medium)
    • Path With Given Sequence (medium)
    • Count Paths for a Sum (medium)
  9. Pattern: Two Heaps

    • Find the Median of a Number Stream (medium)
    • Sliding Window Median (hard)
    • Maximize Capital (hard)
  10. Pattern: Subsets

    • Subsets (easy)
    • Subsets With Duplicates (easy)
    • Permutations (medium)
    • String Permutations by changing case (medium)
    • Balanced Parentheses (hard)
    • Unique Generalized Abbreviations (hard)
  11. Pattern: Modified Binary Search

    • Order-agnostic Binary Search (easy)
    • Ceiling of a Number (medium)
    • Next Letter (medium)
    • Number Range (medium)
    • Search in a Sorted Infinite Array (medium)
    • Minimum Difference Element (medium)
    • Bitonic Array Maximum (easy)
  12. Pattern: Bitwise XOR

    • Single Number (easy)
    • Two Single Numbers (medium)
    • Complement of Base 10 Number (medium)
  13. Pattern: Top 'K' Elements

    • Top 'K' Numbers (easy)
    • Kth Smallest Number (easy)
    • 'K' Closest Points to the Origin (easy)
    • Connect Ropes (easy)
    • Top 'K' Frequent Numbers (medium)
    • Frequency Sort (medium)
    • Kth Largest Number in a Stream (medium)
    • 'K' Closest Numbers (medium)
    • Maximum Distinct Elements (medium)
    • Sum of Elements (medium)
    • Rearrange String (hard)
  14. Pattern: K-way merge

    • Merge K Sorted Lists (medium)
    • Kth Smallest Number in M Sorted Lists (Medium)
    • Kth Smallest Number in a Sorted Matrix (Hard)
    • Smallest Number Range (Hard)
  15. Pattern : 0/1 Knapsack (Dynamic Programming)

    • 0/1 Knapsack (medium)
    • Equal Subset Sum Partition (medium)
    • Subset Sum (medium)
    • Minimum Subset Sum Difference (hard)
  16. Pattern: Topological Sort (Graph)

    • Topological Sort (medium)
    • Tasks Scheduling (medium)
    • Tasks Scheduling Order (medium)
    • All Tasks Scheduling Orders (hard)
    • Alien Dictionary (hard)
  17. Miscellaneous

    • Kth Smallest Number (hard)