LeetCode 645 题解

https://leetcode.com/problems/set-mismatch/description/

题目大意:n个数,1-n有一个数重复出现了一次,一个数少掉了,找出来

解题思路:排序,然后相邻相同的是重复的,求和后算出少掉的。

class Solution {
    public int[] findErrorNums(int[] nums) {
        int n= nums.length;
        Arrays.sort(nums);
        int [] res = new int[2];
        int pre=nums[0];
        int sum=nums[0];
        for(int i=1;i<n;i++)
        {
            sum+=nums[i];
            if(pre == nums[i])
            {
                res[0] = pre;
            }
            pre = nums[i];
        }
        res[1] = (1+n)*n/2 - sum +res[0];
        return res;
    }
}

猜你喜欢

转载自blog.csdn.net/u011439455/article/details/80453771