Задача 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 элементов (для примера они равны нижнему подчеркиванию).

0

Комментарии

xsnm_avatar
xsnm
,
9 месяцев, 6 дней назад

удалите дубликаты на месте так, чтобы каждый уникальный элемент появлялся только один раз.

0
xsnm_avatar
xsnm
,
9 месяцев назад

nums[unique_index] = nums[i] # "=" Это оператор присвоения. То есть элемент nums[unique_index] копия элемента nums[i]. Копия.....
# А это не уникальный элемент. Не оригинал. Где оригинал??????. Если решать то, первый элемент "1" в ряде оригинал и его нельзя трогать и так далее.
# "0" по умолчанию.
 

0
DeaglenS_avatar
DeaglenS
,
8 месяцев, 11 дней назад

Про то, что такое "на месте" написано в следующей задаче 

1

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии