Sobes.tech
Middle+

Implementeer een functie voor het filteren van duplicaten in lineaire tijd O(n) zonder gebruik te maken van Set, door een object als hash-tabel te gebruiken.

sobes.tech AI

Antwoord van AI

Вот пример функции на JavaScript, которая фильтрует дубликаты из массива за линейное время O(n), используя объект как хэш-таблицу, без использования Set:

function filterDuplicates(arr) {
  const seen = {};
  const result = [];

  for (let i = 0; i < arr.length; i++) {
    const item = arr[i];
    if (!seen[item]) {
      seen[item] = true;
      result.push(item);
    }
  }

  return result;
}

// Пример использования:
const data = [1, 2, 3, 2, 4, 1, 5];
console.log(filterDuplicates(data)); // [1, 2, 3, 4, 5]

Здесь объект seen хранит уже встреченные элементы в качестве ключей, что позволяет быстро проверять наличие элемента и добавлять только уникальные значения в итоговый массив.