找到数组中最小的缺失数字

use*_*434 2 algorithm

可能重复:
找到列表中不存在的最小整数

我在接受采访时被问到了这个问题

给定未排序的数组,找到丢失的最小数字.假设所有数字都是正面的.

输入= {4,2,1,3,678,3432}

输出= 5

排序是我的第一个方法.我的第二种方法是使用布尔标志数组.第二种方法占用大量空间.

除此之外还有其他更好的方法吗?

unk*_*ulu 9

假设给定数组的长度是N.你可以使用boolean-flag方法,但是你不需要考虑大于数字的数字N,因为它们显然太大而不能影响答案.你也可以考虑一个bitmap来节省一些空间.