在运行时查找最小元素。

时间:2018-01-04 11:23:50

标签: algorithm temporary

假设我的程序中有一个包含进程的循环,它计算了一些值,我希望保留该进程产生的最小值。最关键的问题是价值是按顺序计算的,我事先并不知道所有这些。

我的解决方案如下(伪代码):

firstTime = true
minValue, currentValue

while ( not end )
    currentValue = valueFromProcess
    if ( (currentValue <= minValue) or firstTime )
        minValue = currentValue
        firstTime = false

return minValue

您的解决方案或建议是什么? C / C ++,Python是首选,但不限制自己。

1 个答案:

答案 0 :(得分:0)

我认为没有比你更好的解决方案了。

当你将minValue的初始值设置为一个巨大的数字时,你唯一可以摆脱的是firstTime变量。

在Java中:

int minValue = Integer.MAX_VALUE;
while (!end) {
    int currentValue = valueFromProcess();
    minValue = Math.min(minValue, currentValue);
}
return minValue;