Hash Map (Sayaç) Deseni
Elemanları sayarak Map doldur, sonra en büyüğü seç:
const sayac = new Map<string, number>();
for (const x of dizi) {
sayac.set(x, (sayac.get(x) ?? 0) + 1);
}
let enCok = null, adet = 0;
for (const [deger, kere] of sayac) {
if (kere > adet) { enCok = deger; adet = kere; }
}
Neden Object yerine Map?
- Anahtar tipi herhangi olabilir (object anahtarları string'e döner)
prototype kirliliği yok (proto gibi anahtarlar güvenli)
O(n) — tek geçişte çözüm!