mirror of
https://github.com/labuladong/fucking-algorithm.git
synced 2025-07-13 01:11:29 +08:00
@ -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};
|
||||
}
|
||||
}
|
||||
```
|
||||
|
Reference in New Issue
Block a user