nums = [2, 1, 3, 4, 2, 3, 4]
# 测试函数
def ensure(fn):
result = fn()
print('result %s' % result)
print('success' if result == 1 else 'error')
# O(n)/O(n)
def findUnique():
l = list()
for num in nums:
if num in l:
l.remove(num)
else:
l.append(num)
return l[0]
ensure(findUnique)
success
# O(n2)/O(1)
def findUnique():
length = len(nums)
for i in range(length):
flag = False
for j in range(length):
if(i == j):
continue
if nums[j] == nums[i]:
flag = True
break
if not flag:
return nums[i]
ensure(findUnique)
result 1
success
# O(n)/O(1)
def findUnique():
res = 0
for num in nums:
res = res ^ num
return res
ensure(findUnique)
result 1
success