如何找到固定数量(在这种情况下为3)的值中最小的非零正数或者在没有正数时返回0,哪种算法最好呢?
我的朴素方法如下(使用Delphi编写,但你可以使用任何你喜欢的语言),但我认为还有更优雅的方法。
value1Temp := MaxInt;
value2Temp := MaxInt;
value3Temp := MaxInt;
if ( value1T > 0) then
value1Temp := value1;
if ( value2 > 0) then
value2Temp := value2;
if ( value3 > 0) then
value3Temp := value3;
Result := Min(value1Temp, Min(value2Temp, value3Temp));
if Result = MaxInt then
Result := 0;
编辑:抱歉,如果没有正数,则添加所需内容。我以为之前已经加进去了,但可能错过了。