Junior — Middle
107
Чӣ гуна вақти иҷрои амали хориҷ кардани такрорҳо аз массиви ба тартиб даровардашударо муайян кардан мумкин аст?
Ҷавоб аз AI
sobes.tech AI
Время выполнения операции удаления дубликатов из отсортированного массива обычно оценивается как O(n), где n — длина массива. Это связано с тем, что при отсортированном массиве дубликаты идут подряд, и достаточно одного прохода по массиву, чтобы их удалить.
Пример на Java:
public int removeDuplicates(int[] nums) {
if (nums.length == 0) return 0;
int i = 0;
for (int j = 1; j < nums.length; j++) {
if (nums[j] != nums[i]) {
i++;
nums[i] = nums[j];
}
}
return i + 1; // новая длина массива без дубликатов
}
Здесь мы проходим по массиву один раз, сравнивая текущий элемент с предыдущим уникальным, и копируем уникальные элементы вперед. Таким образом, алгоритм работает за линейное время O(n).