Например, отрицательная бесконечность является естественным максимальным значением пустого списка.При этом у вас есть: max(l1 + l2) = max(max(l1), max(l2))
, где l1
и l2
- произвольные списки, возможно, пустые.
Реальное применение этого принципа:
float Max(IEnumerable<float> list)
{
// invariant: max contains maximum over the part of the list
// considered so far
float max = float.NegativeInfinity;
foreach (float v in list)
if (v > max)
max = v;
return max;
}