Алгоритми та структури даних · Senior · Запитання 75 з 75

Чому Array.prototype.indexOf усередині filter - типове приховане O(n²) на code review?

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

Пояснення

Кожен із n колбеків робить лінійний пошук, тож 10 000 елементів - це до 100 мільйонів порівнянь. [...new Set(items)] робить те саме за O(n). Помічати такі вкладені проходи - типова навичка senior на рев'ю.

Де почитати

Помилка в запитанні

Алгоритми та структури даних · Senior · запитання 75

Перевірте себе

Пройдіть тест Алгоритми та структури даних · Senior: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест