Встречается на собеседованиях • сегодня

Сколько времени понадобится на удаление дубликатов из отсортированного списка

Для удаления дубликатов из отсортированного списка в Java оптимально использовать алгоритм с двумя указателями. Временная сложность — O(n), где n — размер списка, так как каждый элемент проверяется один раз. Пример с `ArrayList`: ```java public int removeDuplicates(List sortedList) { if (sortedList.isEmpty()) return 0; int writeIndex = 1; for (int readIndex = 1; readIndex < sortedList.size(); readIndex++) { if (!sortedList.get(readIndex).equals(sortedList.get(writeIndex - 1))) { sortedList.set(writeIndex++, sortedList.get(readIndex)); } } return writeIndex; // Новый размер без дубликатов } ``` Особенности: 1. Работает in-place (без создания нового списка) 2. Сохраняет исходный порядок элементов 3. Для `LinkedList` сложность остаётся O(n), но операции set/get менее эффективны
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы