Merge pull request #529 from 1097452462/master

【645. 错误的集合】【Java】
This commit is contained in:
BruceCat
2021-03-07 17:48:14 +08:00
committed by GitHub

View File

@ -140,3 +140,29 @@ vector<int> findErrorNums(vector<int>& nums) {
</p>
======其他语言代码======
[zhuli](https://github.com/1097452462 "zhuli")提供的Java代码
```java
class Solution {
public int[] findErrorNums(int[] nums) {
int n = nums.length;
int dup = -1;
for (int i = 0; i < n; i++) {
// 元素是从 1 开始的
int index = Math.abs(nums[i]) - 1;
// nums[index] 小于 0 则说明重复访问
if (nums[index] < 0)
dup = Math.abs(nums[i]);
else
nums[index] *= -1;
}
int missing = -1;
for (int i = 0; i < n; i++)
// nums[i] 大于 0 则说明没有访问
if (nums[i] > 0)
// 将索引转换成元素
missing = i + 1;
return new int[]{dup, missing};
}
}
```