algorithm - 找到数组中最小的缺失数

标签 algorithm

<分区>

Possible Duplicate:
Find the Smallest Integer Not in a List

我在面试中被问到这个问题

给定一个未排序的数组,找到缺失的最小数字。假设所有数字都是正数。

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

输出 = 5

排序是我的第一个方法。我的第二种方法是有一个 bool 标志数组。第二种方法占用了大量空间。

还有比这更好的方法吗?

最佳答案

假设给定数组的长度是N。 您可以使用 bool 标志方法,但不需要考虑大于 N 的数字,因为它们显然太大而不会影响答案。您还可以考虑使用 位图 来节省一些空间。

关于algorithm - 找到数组中最小的缺失数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11156491/

相关文章:

python - 如何选择列表中多次出现的任意数量的元素?

algorithm - 你能以 O(n) 的摊销复杂度对 n 个整数进行排序吗?

algorithm - 如何维护一个数组,支持随机插入和赋值,查询给定区间内的第k大数?

algorithm - 是否可以找出这些字符串中使用了哪种哈希算法?

algorithm - 找到使用被加数组合的最佳方法,以有限数量的被加数获得最大总和

algorithm - 程序的运行时间

algorithm - 如何限制 IO 操作的速率?

algorithm - 骨肉 |找到 K 以下的 B 个不同的正整数,使得它们的和为 N 或者说不可能。 |超时错误

algorithm - (ACM) 如何用线段树统计[a,b]中有多少元素小于给定常数?

algorithm - 使用分桶计数反转