Closed congr closed 5 years ago
O(N)
class Solution {
public List<Integer> findDuplicates(int[] nums) {
List<Integer> list = new ArrayList();
for (int i=0; i<nums.length; i++) {
int index = Math.abs(nums[i])-1;
nums[index] *= -1;
if (nums[index] > 0) list.add(index+1); // !!!
}
return list;
}
}
https://leetcode.com/problems/find-all-duplicates-in-an-array/