Sebuah hash map (dictionary) memberikan O(1) rata-rata untuk pencarian, penyisipan, dan penghapusan. Menukar memori O(n) untuk kecepatan mengubah banyak algoritma O(n²) menjadi O(n) dengan mengganti pemindaian berulang dengan pencarian instan.
Idenya
Alih-alih mencari daftar setiap kali, simpan nilai yang sudah dilihat dalam hash map dan periksa keanggotaan dalam waktu konstan.
Contoh: two-sum dalam O(n)
():
seen = {}
i, x (nums):
need = target - x
need seen:
(seen[need], i)
seen[x] = i
two_sum([, , , ], )
