관련 시간복잡도
dict
의get()
: O(1)
class Solution(object):
def sumOfUnique(self, nums):
count = 0
d = {}
for i in range(len(nums)): #O(n)
if d.get(nums[i], 0) == 0: d[nums[i]] = 1
else: d[nums[i]] += 1
for i in range(len(nums)): #O(n)
if d[nums[i]] == 1: count += nums[i]
return count
미리 배열을 할당해놓고 시작하기 때문에 첫 번째 풀이보다 공간복잡도가 떨어진다
class Solution(object):
def sumOfUnique(self, nums):
table = [0 for i in range(101)]
for n in nums: #O(n)
table[n] += 1
count = 0
for idx, v in enumerate(table): #O(n)
if v == 1: count += idx
return count