Back to questions
Middle+
1
Реализуй функцию фильтрации дубликатов за линейное время O(n) без использования Set, используя объект как хэш-таблицу.
Companies where asked
Tilda
Answer from AI
sobes.tech 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 хранит уже встреченные элементы в качестве ключей, что позволяет быстро проверять наличие элемента и добавлять только уникальные значения в итоговый массив.