首页 > 试题广场 >

数组里面没有出现过的数字

[编程题]数组里面没有出现过的数字
  • 热度指数:1268 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为N的正整数数组nums,其中nums[i]的值都在区间[1,n]中,请你找出nums数组在[1,n]范围里面没有出现过的数字,并将它们放在数组里面返回(在数组里面的顺序可以不唯一)

注:本题有时间复杂度为O(n),空间复杂度为O(1)的解法,返回的数组不计入空间复杂度计算

数据范围:


示例1

输入

[2,1,4,5,1,2]

输出

[3,6]

说明

数组长度为6,那么范围为[1,6],其中3和6没有在数组里面出现,返回[3,6]  
示例2

输入

[1,1]

输出

[2]
头像 帅气哥哥
发表于 2023-08-30 19:06:41
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * 展开全文
头像 极至
发表于 2023-03-21 18:03:23
#include <vector> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector 展开全文
头像 牛客NVR
发表于 2023-03-27 17:02:11
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @r 展开全文
头像 lee≤e
发表于 2022-04-18 15:43:36
#生成1-len(nums)的区间,再讲区间内元素与nums内元素比较,nums内没有该元素就把他添加进列表l2,set(nums)主要是为了去重,加快查找速度(nums去重前ac 790ms 5832kb,去重后56ms 6392kb)拿空间换时间 class Solution: def 展开全文
头像 君无颜
发表于 2022-02-09 00:28:00
最先冒出的简单想法就是,先生成区间,再一个一个删 python实现(一) class Solution: def findDisappearedNumbers(self , nums: List[int]) -> List[int]: # write code here 展开全文
头像 牛客82035003号
发表于 2022-04-14 22:02:38
元素个数和数据范围一致,这不又是用复合数组吗,一个数组的值作为另一个数组的下标,用作计数或标记。 int* findDisappearedNumbers(int* nums, int numsLen, int* returnSize&n 展开全文
头像 姐姐的遮阳伞
发表于 2022-04-05 15:48:09
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * 展开全文