方法一
思路
利用[0, n]的区间内和是(0 + n) * (n + 1) / 2
因为缺少一个数,那么和减去数组中的所有数字就是剩下的
方法二
思路
利用a ^ b ^b = a
由于nums[i] = i因此最后剩下的就是缺少的数字
例如
k = k ^ i ^ nums[i]
i = {0,1,2,3}
nums = {0,2,3,4}
k = 4
最后只剩下1没有消除
因此缺少1
与改题目类似的还有136. Single Numbera ^ b ^b = a
代码
|
|
利用[0, n]的区间内和是(0 + n) * (n + 1) / 2
因为缺少一个数,那么和减去数组中的所有数字就是剩下的
利用a ^ b ^b = a
由于nums[i] = i因此最后剩下的就是缺少的数字
例如
k = k ^ i ^ nums[i]
i = {0,1,2,3}
nums = {0,2,3,4}
k = 4
最后只剩下1没有消除
因此缺少1
与改题目类似的还有136. Single Numbera ^ b ^b = a
|
|