这题如果用sort会比想象得要难处理。。
于是我赶紧用了map。
public int[] findErrorNums(int[] nums) {
int[] res = new int[2];
int[] map = new int[nums.length];
for (int i = 0; i < nums.length; i++) {
map[nums[i] - 1]++;
}
for (int i = 0; i < nums.length; i++) {
if (map[i] == 2) {
res[0] = i + 1;
}
if (map[i] == 0) {
res[1] = i + 1;
}
}
return res;
}
网友评论