题目分析
题目链接,登录 LeetCode 后可用
这道题是给一个长度为 n 的数组,这个数组本来应该存 0 到 n 这 n + 1 个数,但是少了一个,要求在线性时间内找出这个数,并且空间复杂度要为 O(1)。这里的解题方法是先计算 1 到 n 这 n 个数的和,然后减去数组中所有数的和即可。
代码
class Solution {
public int missingNumber(int[] nums) {
int sum = 0;
// 计算和
for(int x : nums) {
sum += x;
}
return ((1 + nums.length) * nums.length) / 2 - sum;
}
}
网友评论