> Problem: [448. 找到所有数组中消失的数字]
[TOC]
# 思路
> 看了好久,在这个思路想出来之前,我试了其他几种情况,确实浪费了好长时间!
# 解题方法
> 创建一个新的数组arr是布尔类型的,长度是nums.lenght+1,先一次for循环,如果出现某个数字的话,arr下表为该数字的值改为ture;因为arr默认的值为false,注意arr[0] = true;然后再进行一次for循环,循环arr数组,当某个值为false的时候,将该下标放在List<Integer>中,思路如此,简单易懂!
看代码,简单易懂!
# Code
```Java []
class Solution {
public List<Integer> findDisappearedNumbers(int[] nums) {
List<Integer> ls = new ArrayList<>();
boolean[] arr = new boolean[nums.length + 1];
arr[0] = true;
for (int num : nums) {
arr[num] = true;
}
for (int i = 0; i < nums.length+1; i++) {
if (!arr[i]){
ls.add(i);
}
}
return ls;
}
}
```
本文介绍了一种简单高效的算法,用于解决[448.找到所有数组中消失的数字]问题。通过创建一个布尔数组并标记输入整数,找出未被标记的数字作为结果。代码清晰易懂,适用于面试和技术实践。
493

被折叠的 条评论
为什么被折叠?



