什么是确定(min-s,max-s)时间T(n)= O(nlogn)的最简单方法?算法如何工作?

时间:2017-11-05 22:52:26

标签: algorithm data-structures

整个场景是:

设s = s1,...,sn是整数列表。设min和s表示S中最小的整数,max-s表示所有Si E S中S的大整数。

没有明确使用Divide and Conquer,在时间T(n)= O(nlogn)中确定(min-s,max-s)的最简单方法是什么?算法如何工作?

非常感谢您的帮助。感谢。

1 个答案:

答案 0 :(得分:-1)

如果你必须在O(n * log(n))时间内计算它,你可以在列表中输出第一个和最后一个元素。这是一种不是分而治之的O(nlogn)排序。

但是,如果您只想要最小值和最大值,为什么不选择明显的O(n)解决方案呢?迭代列表并存储到目前为止看到的最小值和最大值。如果当前数字分别低于或高于最小值或最大值,则更换每个。