core pattern

Hash Map / Set

Use hash maps for O(1) lookups to track frequencies, find duplicates, store complements, or establish relationships between elements.

Time

O(n)

Space

O(n)

🧠Mental Model

A librarian with perfect memory — instantly retrieves any book by its catalog number.

Verbal cue: Store what you've seen, lookup in O(1)

🎯Recognition Triggers

When you see these patterns in a problem, consider this approach:

Count occurrencesFind duplicateTwo sum (unsorted)Group by propertyCheck if exists in O(1)Anagram detectionSubarray sum equals K

💡Interview Tips

  • 1Hash map trades space for time — mention this tradeoff
  • 2Clarify what to return: indices, values, or boolean
  • 3For frequency problems, collections.Counter (Python) is useful
  • 4Consider sorted alternatives when space is critical

⚠️Common Mistakes

  • Not considering hash collisions in theoretical analysis
  • Forgetting to store the value AFTER checking (for two-sum)
  • Using wrong hash function for custom objects
  • Not handling case when element equals its complement