Назад к вопросам
Middle+
5
Как можно было переделать решение, используя 1 коллекцию вместо 2 (seen и temp)?
Компании, где спрашивали
Мираполис
Ответ от нейросети
sobes.tech AI
Вместо использования двух коллекций — seen для уже обработанных элементов и temp для временного хранения — можно применить одну коллекцию с дополнительной логикой для отслеживания состояния элементов. Например, использовать Map с ключом — элементом, а значением — булевым флагом или перечислением, обозначающим состояние (например, "обработан", "в процессе").
Пример на Java с использованием HashMap:
Map<String, Boolean> seen = new HashMap<>();
for (String item : items) {
if (seen.getOrDefault(item, false)) {
// элемент уже обработан, пропускаем
continue;
}
// обработка элемента
process(item);
seen.put(item, true);
}
Такой подход позволяет избежать дублирования данных и упростить логику, сохраняя информацию об обработанных элементах в одной структуре.