【发布时间】:2012-10-03 15:55:18
【问题描述】:
让[a_1 a_2 ... a_n] 成为[1,10n] 范围内的不同 整数列表。给出一个算法,如果存在三个不同的元素 x,y,z,则返回 true,使得 -1 <= x+y-z <= 1,否则返回 false。
蛮力算法(检查x+y-z 的所有可能组合,及时运行O(n^3)。有更高效的算法吗?
【问题讨论】:
-
您在尝试实现此功能时是否遇到特定问题,或者您只是逐字发布作业问题?
-
不,我在实施蛮力算法方面没有问题。我想知道是否有更有效的算法。
-
为什么要投反对票? :\
-
@amit:这是一个算法问题,被表述为一般的编程问题,因此很难看出用户在寻找什么。此外,人们倾向于关闭他们认为无法回答的问题。过于本地化是目前的主要原因,我不同意,但可以看到它们来自哪里。
-
@Guvante SO中有很多这样的问题。 OP提出了一个具体问题,并展示了他的努力(蛮力解决方案)。可以要求更好的方法,或者“怎么做?”在表现出一些努力之后。此外 - 如果某些事情“无法回答”(在这种情况下,如果没有更好的解决方案) - 一个好的答案将是解释原因(很多时候这是人们询问 NP-Hard 问题的情况,例如)
标签: algorithm list language-agnostic integer