资讯详情

Leetcode hot100 找到所有数组中消失的数字

📅 2026/10/10 2:12:21 | 华诺云谱 👁 阅读
Leetcode hot100 找到所有数组中消失的数字
法1创建一个标记数组遍历数组对于出现过的数字把让数字作为下标标记为1.再遍历标记数组数值为0的对应的下标就是答案。时间复杂度遍历两遍数组O2n空间复杂度因为题目说了返回数组不算占空间那就只用了标记数组的O(n)class Solution { public ListInteger findDisappearedNumbers(int[] nums) { int n nums.length; //1.出现过的用1去标记 int[] mark new int[n1]; for(int i0; in; i){ mark[nums[i]]1; } //2.再遍历一遍找没用1标记的 ListInteger res new ArrayList(); for(int i1; in; i){ if(mark[i]0){ res.add(i); } } //返回ArrayList也算数组啦 return res; } }法2进阶emmmm看了官方解法以后我发现他说的时间复杂度O(n)其实指的是n级别遍历两遍时间复杂度为O(2n)也算。第一遍遍历把num[i]为索引的位置上的数变负的。第二遍遍历num[i]谁是正数对应下标就是没出现过
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑