gpt4 book ai didi

algorithm - 找出非负整数序列中缺失的最小元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:20 25 4
gpt4 key购买 nike

我需要从一个非负整数序列中找到最小缺失元素。

例如:我有:0 5 10 4 3 1

The missing element is 2.

在上面的序列中缺失的元素是 2 6 7 8 9 。其中最小的是 2,所以答案是 2。

蛮力。我将对序列进行排序并获得 nlogn 中的最小元素。我正在寻找更好的解决方案。有什么帮助吗?

最佳答案

在 ISO C99 中:

unsigned least_absent(unsigned seq_sz, unsigned seq[seq_sz])
{
bool tab[seq_sz];
memset(tab, 0, sizeof(tab));
for(unsigned i=0; i<seq_sz; i++)
if(seq[i] < seq_sz)
tab[seq[i]] = true;
for(unsigned i=0; i<seq_sz; i++)
if(!tab[i])
return i;
return seq_sz;
}

这是 O(n) 时间,O(n) 内存。

关于algorithm - 找出非负整数序列中缺失的最小元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com