completed and added faster runtime solution
This commit is contained in:
parent
aa07e7191a
commit
f2ae3fd549
@ -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])
|
||||
Loading…
Reference in New Issue
Block a user