首页 > 其他分享 >leetcode-448-easy

leetcode-448-easy

时间:2022-10-19 07:44:47浏览次数:38  
标签:448 nums int len num result easy new leetcode

思路一: 用数组记录

public List<Integer> findDisappearedNumbers(int[] nums) {
    int[] m = new int[nums.length];

    for (int num : nums) {
        if (num-1 <= m.length) {
            m[num-1] = 1;
        }
    }

    List<Integer> result = new ArrayList<>();
    for (int i = 0; i < m.length; i++) {
        if (m[i] == 0) {
            result.add(i+1);
        }
    }

    return result;
}

思路二: 这种思路比较巧妙,每个值+n,这样原来的数值必定大于 n

public List<Integer> findDisappearedNumbers(int[] nums) {
    List<Integer> ans = new ArrayList<>();
    int len = nums.length;
    for (int num : nums) {
        int index = (num - 1) % len;
        nums[index] += len;
    }
    for (int i = 0; i < len; i++) {
        if (nums[i] <= len) {
            ans.add(i + 1);
        }
    }
    return ans;
}

标签:448,nums,int,len,num,result,easy,new,leetcode
From: https://www.cnblogs.com/iyiluo/p/16804880.html

相关文章