Leetcode-缺失数字

60.缺失数字

题目内容:

代码及思路:

class Solution {
public:
    int missingNumber(vector<int>& nums) {
        //有种取巧的方式,即用和差的办法来得到丢失的那个数字,等差数列求和公式:S=(a1+an)n/2=n(n+1)/2
        int length=nums.size(); //相当于得到最大那个数字
        int res=length*(length+1)/2;
        for(int i=0;i<length;i++)
        {
            res=res-nums[i];
        }
        return res;
        
    }
};

其实还有一种思路是将序列进行排序,然后找到缺失的位置,但是排序后复杂度就变为nlogn。实际上和差方法感觉更简单一点

猜你喜欢

转载自blog.csdn.net/larklili/article/details/89706318
今日推荐