【发布时间】:2010-10-22 01:53:25
【问题描述】:
给定一个整数列表,我怎样才能最好地找到列表中不是的整数?
列表可能非常大,整数也可能很大(即 BigIntegers,而不仅仅是 32 位整数)。
如果有什么不同,列表“可能”是排序的,即 99% 的时间它会被排序,但我不能指望总是被排序。
编辑 -
为了澄清,给定列表 {0, 1, 3, 4, 7},可接受解的示例是 -2、2、8 和 10012,但我更愿意找到最小的非负解 (即2)如果有一种算法可以找到它而无需对整个列表进行排序。
【问题讨论】:
-
您需要不在列表中的最小(正)整数或不在列表中的任何整数吗?
-
您想找到不在列表中的最小正整数吗?任何指定的整数?哪一个?
-
“可能已排序”可能意味着完全排序将非常快。根据“未排序”和“排序”列表的算法,这可能是值得的。