Leecode:Find All Duplicates in an Array(JS解题)
解题思路:用原数组来作为存储数值位置的数组,第一次遍历的时候进行取反操作,当操作过程中遇到负数,说明遇到了重复数值,压入结果集
上代码:
function findDuplicates(nums: number[]): number[] {
let res:number[] = [];
for(let i = 0; i < nums.length; i++){
let index = Math.abs(nums[i]) - 1;
if(nums[index] < 0){
res.push(Math.abs(nums[i]))
}
nums[index] = -nums[index];
}
return res;
};