【题目描述】
给你一个含 n
个整数的数组 nums
,其中 nums[i]
在区间 [1, n]
内。请你找出所有在 [1, n]
范围内但没有出现在 nums
中的数字,以数组的形式返回结果
https://leetcode.cn/problems/find-all-numbers-disappeared-in-an-array/?favorite=2cktkvj
【示例】
【代码】
admin
package com.company;
import java.util.*;
class Solution {
public List<Integer> findDisappearedNumbers(int[] nums) {
int len = nums.length;
List<Integer> list = new ArrayList<>();
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < len; i++) {
map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);
}
for (int i = 1; i <= len; i++){
if (!map.containsKey(i)){
list.add(i);
}
}
System.out.println(list.toString());
return list;
}
}
public class Test {
public static void main(String[] args) {
int[] arr = {4,3,2,7,8,2,3,1};
new Solution().findDisappearedNumbers(arr);
}
}