题目
有一组数字,从1到n,中减少了一个数,顺序也被打乱,放在一个n-1的数组里,请找出丢失的数字
例子
find_missing_num([1,2,3,5]) -> 4
假设
- 输入的数组不为空,且一定符合题意
tips
- 位运算
答案
解法1
def find_missing_num(lst):
res = 0
for i in range(1, len(lst)+1):
res ^= i
for item in lst:
res ^= item
return res
性能:
- 时间复杂度
O(n)
- 空间复杂度
O(1)
关键点:
- 位运算