Программа курса:
Задача 13: Удаление дубликатов из отсортированного массива
Напишите опредление функции def remove_duplicates(nums), которая принимает nums - массив целочисленных значений, отсортированный в неубывающем порядке, удалите дубликаты на месте так, чтобы каждый уникальный элемент появлялся только один раз. Порядок элементов должен оставаться тем же. Верните количество уникальных элементов в nums.
Предположим, что n - это количество уникальных элементов в nums. Чтобы решение прошло все тесты, нужно выполнить следующие действия:
Изменить массив
numsтак, чтобы первыеnэлементовnumsсодержали уникальные элементы в том же порядке, в каком они были изначально в массивеnums.Вернуть значение
n.
Пример 1:
Ввод: nums = [1,1,2]
Вывод: 2
Как изменился список: nums = [1,2,_]
Пояснение: Ваша функция должна вернуть 2, причем первые два элементы в nums это 1 и 2, в том же порядке, что и в изначальном nums. Не имеет значения, что будет идти после n элементов (для примера они равны нижнему подчеркиванию).
Пример 2:
Ввод: nums = [0,0,1,1,1,2,2,3,3,4]
Вывод: 5
Как изменился список: nums = [0,1,2,3,4,_,_,_,_,_]
Пояснение: Ваша функция должна вернуть 5, причем первые два элементы в nums это 0, 1, 2, 3 и 4, в том же порядке, что и в изначальном nums. Не имеет значения, что будет идти после n элементов (для примера они равны нижнему подчеркиванию).
xsnm
,удалите дубликаты на месте так, чтобы каждый уникальный элемент появлялся только один раз.
xsnm
,nums[unique_index] = nums[i] # "=" Это оператор присвоения. То есть элемент nums[unique_index] копия элемента nums[i]. Копия.....
# А это не уникальный элемент. Не оригинал. Где оригинал??????. Если решать то, первый элемент "1" в ряде оригинал и его нельзя трогать и так далее.
# "0" по умолчанию.
DeaglenS
,Про то, что такое "на месте" написано в следующей задаче