如果我有一个大型集合并且关心性能,我应该相信奇迹并使用
var min = Y.Min();
var max = Y.Max();
要成为一名优秀的工程师,我最好使用
var max = double.NegativeInfinity;
var min = double.PositiveInfinity;
foreach(var y in Y)
{
if(y > max)
max = y;
if(y < min)
min = y;
}
Y
是 ICollection<double>
,因为我需要使用 Count
和 foreach
。我想知道类型是否正确,因为涉及到最小值/最大值,而且我需要从集合的末尾开始迭代。
Y.OrderByDescending((o) => o)...
OrderByDescending
? - Jon SkeetMin
、Max
和OrderByDescending
能够胜过钝的foreach
(如果可能的话)。或者简单确认一下,foreach
是否最好。 - SinatrMin
和Max
是O(n)
+O(n)
=O(2n)
,而循环只是O(n)
。现在问问自己哪个更有效率? - Sriram SakthivelFirst()
应该是最大值,而Last()
应该是最小值,除非我漏掉了什么... - code4life