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;
}
}
本文介绍了一个LeetCode上的经典问题——错位数组的解决方案。该问题要求找出一个包含从1到n的整数数组中重复的一个数字及缺失的一个数字。通过排序数组并检查相邻元素来确定重复项,接着通过计算总和来找到缺失的数字。
166

被折叠的 条评论
为什么被折叠?



