美文网首页
448. 找到所有数组中消失的数字

448. 找到所有数组中消失的数字

作者: justonemoretry | 来源:发表于2021-10-15 23:53 被阅读0次
image.png

解法

class Solution {
    public List<Integer> findDisappearedNumbers(int[] nums) {
        int n = nums.length;
        // 节省空间,原数组上操作,有数据的对应位置都加上n
        for (int i = 0; i < n; i++) {
            int a = (nums[i] - 1) % n;
            nums[a] += n;
        }
        
        List<Integer> res = new ArrayList<>();
        for (int j = 0; j < n; j++) {
            // 小于等于n,说明位置上没有数据,缺少值
            if (nums[j] <= n) {
                res.add(j + 1);
            }
        }
        return res;                                                    
    }
}

相关文章

网友评论

      本文标题:448. 找到所有数组中消失的数字

      本文链接:https://www.haomeiwen.com/subject/ndhvoltx.html