mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-04-30 04:36:08 -04:00
33 lines
727 B
Python
33 lines
727 B
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
# author: bt3gl
|
|
|
|
### Remove Duplicates from Sorted Array in-place
|
|
|
|
|
|
def remove_duplicates(nums: list[int]) -> int:
|
|
|
|
arr_i, dup_i = 0, 1
|
|
|
|
while arr_i < len(nums) and dup_i < len(nums):
|
|
|
|
if nums[arr_i] == nums[dup_i]:
|
|
dup_i += 1
|
|
|
|
else:
|
|
arr_i += 1
|
|
nums[arr_i] = nums[dup_i]
|
|
|
|
for i in range(arr_i + 1, dup_i):
|
|
nums[i] = '_'
|
|
|
|
return dup_i - arr_i - 1, nums
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
|
nums = [0, 0, 1, 1, 1, 2, 2, 3, 3, 4]
|
|
assert(remove_duplicates(nums) == (5, [0, 1, 2, 3, 4, '_', '_', '_', '_', '_']))
|