题解方法
数学
- 消失的两数之和 = n~1 求和减去当前数组求和
- 两数不相等,则必然位于两数之和的均值的两侧,可将问题转化为求消失的一个数字
核心代码
数学
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| int n = nums.length + 2; int sum = 0;
for (int num: nums) { sum += num; }
int sumTwo = n * (n + 1) / 2 - sum; int mean = sumTwo / 2; sum = 0;
for (int num: nums) { if (num <= mean) { sum += num; } } int x1 = mean * (mean + 1) / 2 - sum; int x2 = sumTwo - x1;
|
题目来源
面试题 17.19. 消失的两个数字 - 力扣(LeetCode)