AlgoPrecision

Hashing Visualizer

Hash Tables

Watch keys map into buckets with modulo hashing, collisions, chain traversal, and live average versus worst-case complexity.

O(n)
hash set membershipactive key: 18
Bucket 0
key7in set
key14in set
key21in set
Bucket 1
empty
Bucket 2
empty
Bucket 3
empty
Bucket 4
key18in set
key25in set
key32in set
Bucket 5
empty
Bucket 6
empty

Time

O(n)

Space

O(n)

Step Note

Insert each distinct number into a set.

Details
function longestConsecutive(values: number[]) {
  const set = new Set(values)
  let best = 0
  for (const value of set) {
    if (set.has(value - 1)) continue
    let next = value
    while (set.has(next + 1)) next++
    best = Math.max(best, next - value + 1)
  }
  return best
}