Sobes.tech
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).