0

如果数组只有一个负数,请建议是否有更快的方法在给定数组中找到负数。我认为排序是一种选择,但如果有更快的方法会很有帮助。

4

3 回答 3

1

排序不会比遍历数组的所有元素更快(因为排序你也必须这样做)。

最快的方法是遍历所有数组并在检测到一个负数时停止。

于 2013-10-12T15:54:06.130 回答
0

只需遍历数组。那是订单n。排序是最好的顺序n(log n);最坏的情况是n 2

于 2013-10-12T15:52:58.953 回答
0

最快的可能是扫描阵列直到找到它。

如果您只这样做一次,并且不需要为其他目的对数组进行排序,那么扫描负数会比排序更快。但是,如果您需要(或可以使用)排序用于其他目的,或者您可能需要多次查找负数,那么排序最终可以节省时间。同样,对于某些程序,花额外的时间准备在真正关键时获得更快的响应是合理的(但我不知道这是否适用于此)。

于 2013-10-12T15:54:02.537 回答