-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
class Solution {
public int[] findErrorNums(int[] nums) {
for(int i = 0; i < nums.length; i++){
while(nums[i] != i + 1 && nums[nums[i] - 1] != nums[i]){
swap(nums, i, nums[i] - 1);
}
}
for(int i = 0; i < nums.length; i++){
if(nums[i] != i + 1){
return new int[]{nums[i], i + 1};
}
}
return null;
}
private void swap(int[] nums, int i, int j){
int tmp = nums[i];
nums[i] = nums[j];
nums[j] = tmp;
}
}
class Solution:
def findErrorNums(self, nums: List[int]) -> List[int]:
for i, num in enumerate(nums):
while nums[i] != i + 1 and nums[nums[i] - 1] != nums[i]:
tmp = nums[i]
nums[i] = nums[tmp - 1]
nums [tmp - 1] = tmp
for i, num in enumerate(nums):
if num == i + 1:
continue
return [num, i+1]
Metadata
Metadata
Assignees
Labels
No labels