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