Roadmap › Stage 1: Foundations (Start Here) › Pattern 3 of 53
DSA pattern guide

Hashing — Basics

"Have I seen this before?", counting things, or finding a matching pair fast.

Stage 1 · Foundations (Start Here)8 problems6 Easy · 2 Medium

Use it when

"Have I seen this before?", counting things, or finding a matching pair fast.

Key idea

A HashMap/HashSet gives O(1) lookups, so one pass with a map replaces a nested loop. Store what you've seen, and check for the complement as you go.

Practise it right here

3 original problems for this pattern in our free in-browser console. Write Java, Python or JavaScript and get an instant verdict, no install needed.

Open the practice console

Practice problems, in order

  1. Two SumEasy
  2. Contains DuplicateEasy
  3. Valid AnagramEasy
  4. Ransom NoteEasy
  5. First Unique Character in a StringEasy
  6. Intersection of Two ArraysEasy
  7. Group AnagramsMedium
  8. Longest Consecutive SequenceMedium

How to practise this pattern

  1. Read the problem and look for the signal above before writing any code.
  2. Say the brute force out loud, with its time complexity, then ask what work it repeats.
  3. Apply the key idea and write the optimised version yourself.
  4. If you're stuck for more than 10 minutes, take one small hint, not the full solution.
  5. Move to the next problem only when you can explain why this pattern fits.

Stuck on one of these?

The AlgoSolveo extension (free, launching soon) sits beside the LeetCode problem and gives the smallest hint that gets you moving, never the full answer. Solved problems tick off on your roadmap.

Join the extension waitlistTrack it on the roadmap
← Previous patternArrays — BasicsNext pattern →Sorting — Basics