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

Какая сложность при удалении элемента из массива с миллионом элементов

Удаление элемента из массива в Java имеет сложность O(n), так как требует сдвига всех последующих элементов. Для массива из миллиона элементов это может быть дорогой операцией.

Пример:

java
int[] arr = new int[1_000_000];
// Удаление элемента по индексу 500_000
int indexToRemove = 500_000;
System.arraycopy(arr, indexToRemove + 1, arr, indexToRemove, 
    arr.length - indexToRemove - 1);
arr[arr.length - 1] = 0; // Очищаем последний элемент

Альтернативы:

  • Используйте ArrayList (внутри тоже O(n), но удобнее)
  • Для частых удалений лучше подходят LinkedList (O(1) для удаления по итератору)
  • Если порядок не важен, можно заменить удаляемый элемент последним (O(1))
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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