Algorytmy i struktury danych · Senior · Pytanie 75 z 75

Dlaczego Array.prototype.indexOf wewnątrz filter to częste ukryte O(n²) na code review?

const unique = items.filter((x, i) => items.indexOf(x) === i);

Wyjaśnienie

Każdy z n callbacków robi wyszukiwanie liniowe, więc 10 000 elementów to do 100 milionów porównań. [...new Set(items)] robi to samo w O(n). Wyłapywanie takich zagnieżdżonych przejść to typowa umiejętność seniora na review.

Do poczytania

Błąd w pytaniu

Algorytmy i struktury danych · Senior · pytanie 75

Sprawdź się

Rozwiąż test Algorytmy i struktury danych · Senior: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test