关注微信公众号醉前端,了解更多题目

微信公众号:醉前端关注可了解更多题目。

题 目

Q: 给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。
  • 示例:输入:[4,3,2,7,8,2,3,1] 输出:[2,3]

答 案

const findDuplicates = nums => {
    let result = [];
    for (let i = 0; i < nums.length; i++) {
        let num = Math.abs(nums[i]);
        if (nums[num - 1] > 0) {
            nums[num - 1] *= -1;
        } else {
            result.push(num);
        }
    }
    return result;
};
每日更新一道算法题,加个关注呗老铁!
每日更新一道算法题,加个关注呗老铁!

醉前端
174 声望83 粉丝

Time is a bird forever on the ring......