Дано: из целочисленного отсортированного массива nums, удалить дубликаты.
Изменить массив nums таким образом, чтобы первые k элементов nums содержали уникальные элементы в том порядке, в котором они присутствовали в nums изначально. Остальные элементы nums не важны, так же как и размер nums. Вернуть k. Ограничения:
1 <= nums.length <= 3 * 10^4
-100 <= nums[i] <= 100 Пример: Вход: nums = [0,0,1,1,1,2,2,3,3,4].
Выходные данные: 5 Решение(Python): 1) Использование встроенной функции sorted и множества Set def removeDuplicates(nums: List[int]) -> int:
nums[:] = sorted(set(nums))
return len(nums) Чтобы получить новый массив создаем копию списка nums[:], либо другой вариант (nums.copy()) и сортируем, как множество уникальных элементов Set. Временная сложность: sorted дает нам сложность O(nlog n)
Пространственная сложность: используем новый список - это O(n) 2) С использованием OrderedDict OrderedDict это класс словаря, который сохраняет порядок, в котором пары ключ-значение, известные ка