completed and added faster runtime solution

This commit is contained in:
Jacob Delgado 2023-06-29 03:00:39 -07:00
parent aa07e7191a
commit f2ae3fd549

View File

@ -3,37 +3,21 @@ def removeDuplicates(nums):
:type nums: List[int] :type nums: List[int]
:rtype: int :rtype: int
""" """
count = 0 # Use a two-pointer approach
previousValue = None unique_index = 0
for x in nums:
if previousValue is not None:
if x == previousValue:
del nums[count]
previousValue = x
count += 1
print(nums)
duplicates = 1 # Utilize a set for faster lookup
unique_set = set()
while duplicates != 0: for num in nums:
if duplicates == len(nums): if num not in unique_set:
break nums[unique_index] = num
if nums[duplicates] == nums[duplicates-1]: print(unique_set)
del nums[duplicates-1] unique_index += 1
print(nums) unique_set.add(num)
else: return len(unique_set)
duplicates += 1
# for i in range(len(nums)): # Faster runtime
# # print(nums) nums[:] = sorted(set(nums))
# if i+1 == len(nums): return len(nums)
# break
# if nums[i] != nums[i+1]:
# count += 1
# else:
# del nums[i]
# i -= 1
# print(nums)
# print(nums)
# print(count)
removeDuplicates([0,0,1,1,1,2,2,3,3,4]) removeDuplicates([0,0,1,1,1,2,2,3,3,4])