从固定数字(在本例中为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;
编辑:抱歉,如果没有正数,则添加所需内容.我以为我以前曾经在那里,但一定错过了它.