【发布时间】:2012-02-27 15:05:16
【问题描述】:
例如数组:{1、5、2、3、2、10}
范围:0-1 答案:5 范围:2-4 答案:3 范围:0-5 答案:10 等等
【问题讨论】:
-
你不能。为了在未排序的序列中找到最大值,您必须至少查看每个值一次。这使得算法 O(n)。
-
@sbi:除非您对数组进行预处理并构建搜索树/表/任何东西以比搜索子范围更快地给出任何子范围的最大值。大概就是这个问题要问的,虽然有点简洁。
-
@Mike:虽然这是真的,但我不会称这样的野兽为“未排序的序列”。我是故意留下这个漏洞的,你知道吗?
:) -
您是否考虑过建造一台量子计算机来做到这一点?
-
你可以看看我的评论。
标签: c++ algorithm binary-search-tree indexed