c - 查找数组中的最大值

标签 c algorithm

将一千 (1000) 个元素输入数组(无内存限制)。正如我们所知,在输入元素时,我们可以在输入值时通过检查更新输入值的最大值。

但想象一下,如果最大值的位置在 900 左右

如果我从位置 800 到 1000 移除 200 个元素, 不做任何更多的比较,我们应该有下一个最大值。 这是否意味着在输入数据时我们应该有计划以某种方式组织数据以从剩余数据中获取最大值?

删除和插入将继续发生,但我们应该在更短的时间内用更少的步骤更新最大值。 (使用堆栈可能会有所帮助,这是面试官给我的线索)。任何人都请帮助我。

最佳答案

最大堆可能适用于您的情况。但由于 1000 确实很小,您可能不需要复杂的东西。

关于c - 查找数组中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30690335/

相关文章:

algorithm - 如何使用堆栈评估反向抛光符号

algorithm - 查找 max(left) < min(right) 的数组分区 - 可能在 O(N) 时间内?

java - Java中.indexOf方法的算法选择

C# 数组子集获取

c - 无法解码一段代码及其用途

c++ - 从父进程到子进程的网络摄像头流

c++ - 从其他 4 个中找出纹理坐标?

C程序崩溃逆文件txt

c - "implicit declaration of function"是什么意思?

c++ - 计算大阶乘时间复杂度