Visualized DSA Strategies

Episode 2 Hashing: HashSet and HashMap

1 h 4 min · C++ · Quiz

Title card of Episode 2: Hashing: HashSet and HashMap

▶ This video is coming to YouTube soon.

The complete guide to hashing for coding interviews, in C++. First how a hash set really works: buckets, collisions and why lookups are O(1) on average; the four questions hashing answers; what each structure costs; unordered_set and unordered_map in C++ (insert(x).second, count, find, and the square brackets that insert a missing key); and five traps. Then nine types, each worked as a small problem in full: examples, the brute force animated beside the running line of code, the complete code, every line explained, and the hashing solution the same way.

What you'll learn

  • How a hash function, buckets and collisions make lookups O(1) on average
  • unordered_set and unordered_map: insert(x).second, count, find, erase, and [ ] that inserts a default
  • Seen before? A set, and a set as a window of the last k numbers
  • Look up the complement: Two Sum with a map
  • Counting with count[c]++, and with int[26]
  • Grouping by a key, and set operations on two arrays
  • The longest consecutive run: only start where a run starts
  • Designing a set with a random pick: a map plus a vector
  • Five traps: [ ] that inserts, pair keys with no hash, erasing while looping, custom hashes, rehashing

Chapters

  1. 0:00Intro
  2. 0:22How a hash set works
  3. 1:35Four questions hashing answers
  4. 2:07What each structure costs
  5. 2:45unordered_set and unordered_map in C++
  6. 4:10Five traps
  7. 5:15Nine hashing types
  8. 5:54Type 1 · Is there a duplicate?
  9. 11:52Type 2 · Duplicates close together
  10. 18:04Type 3 · Two numbers that add up
  11. 24:25Type 4 · Are they anagrams?
  12. 30:17Type 5 · Can the note be written?
  13. 36:31Type 6 · Group the anagrams
  14. 42:34Type 7 · What do two arrays share?
  15. 48:52Type 8 · Longest consecutive run
  16. 55:11Type 9 · A set with a random pick
  17. 1:02:11Spot the type
  18. 1:02:57Quiz: which type?
  19. 1:03:45Recap

Quiz: test yourself

The 5 questions from the end of the episode. Pick an answer to see why it's right.