Solution 1 O(n) time, O(n) space
class Solution:
# @param {int[]} nums an array of integers
# @return {int} the number of unique integers
def deduplication(self, nums):
# Write your code here
d, result = {}, 0
for num in nums:
if num not in d:
d[num] = True
nums[result] = num
result += 1
return result
Solution 2 O(nlogn) time, O(1) space
class Solution:
# @param {int[]} nums an array of integers
# @return {int} the number of unique integers
def deduplication(self, nums):
# Write your code here
n = len(nums)
if n == 0:
return 0
nums.sort()
result = 1
for i in range(1, n):
if nums[i - 1] != nums[i]:
nums[result] = nums[i]
result += 1
return result