假设我的程序中有一个包含进程的循环,它计算了一些值,我希望保留该进程产生的最小值。最关键的问题是价值是按顺序计算的,我事先并不知道所有这些。
我的解决方案如下(伪代码):
firstTime = true
minValue, currentValue
while ( not end )
currentValue = valueFromProcess
if ( (currentValue <= minValue) or firstTime )
minValue = currentValue
firstTime = false
return minValue
您的解决方案或建议是什么? C / C ++,Python是首选,但不限制自己。
答案 0 :(得分:0)
我认为没有比你更好的解决方案了。
当你将minValue的初始值设置为一个巨大的数字时,你唯一可以摆脱的是firstTime
变量。
在Java中:
int minValue = Integer.MAX_VALUE;
while (!end) {
int currentValue = valueFromProcess();
minValue = Math.min(minValue, currentValue);
}
return minValue;