如果数组只有一个负数,请建议是否有更快的方法在给定数组中找到负数。我认为排序是一种选择,但如果有更快的方法会很有帮助。
问问题
143 次
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 回答