268. Missing Number

2018-04-05  本文已影响7人  衣介书生

题目分析

题目链接,登录 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;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读