【发布时间】:2009-01-08 15:57:19
【问题描述】:
假设我有一个数字数组:[2,3,3,4,2,2,5,6,7,2]
在该数组中找到最小值或最大值的最佳方法是什么?
现在,为了获得最大值,我正在遍历数组,如果变量大于现有值,则将其重置为该值:
var myArray:Array /* of Number */ = [2,3,3,4,2,2,5,6,7,2];
var maxValue:Number = 0;
for each (var num:Number in myArray)
{
if (num > maxValue)
maxValue = num;
}
这似乎不是最好的执行方式(我尽量避免循环)。
【问题讨论】:
-
在这样的简单数组上运行 foreach 绝不是瓶颈。唯一的时间循环变得昂贵是当你做一些不好的事情时,比如在循环中执行 SQL 或重复某种每次总是相同的计算。不要害怕循环我的朋友!
-
循环有什么问题?
-
你必须尽量避免的是深度嵌套的循环......
标签: algorithm actionscript-3 apache-flex actionscript complexity-theory