首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用for循环来获得最小值

使用for循环来获得最小值
EN

Stack Overflow用户
提问于 2018-06-27 03:17:48
回答 2查看 869关注 0票数 0

这听起来可能有点奇怪,但有人能解释一下下面的循环是如何获得最低值的吗

代码语言:javascript
复制
Decimal LowestPrice;
 //for loop to find the smallest value
    for(Integer i = 0;i<leadingPrice.size();i++){
        //no idea how the below line is getting the lowest value 
        if(LowestPrice == null || leadingPrice.get(i) < LowestPrice){
            lowestprice = leadingPrice.get(i);

        }

LeadingPrice是一个小数列表,上面的循环将最低值赋给变量lowestprice,有人能解释一下上面循环的工作原理吗?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-06-27 03:31:00

代码语言:javascript
复制
if(LowestPrice == null || leadingPrice.get(i) < LowestPrice){
        lowestprice = leadingPrice.get(i);

   }

它使用Lowestprice == null检查是否分配了LowestPrice。如果分配了LowestPrice,则检查当前索引(leadingPrice.get(i))是否小于LowestPrice。如果leadingPrice.get(i)较小,则将其分配给LowestPrice

票数 0
EN

Stack Overflow用户

发布于 2018-06-27 03:31:23

第一次执行循环时,LowestPrice为空(我不喜欢这种假设,但这就是代码的编写方式),因此它将LowestPrice设置为数组leadingPrice中的第一个条目。每次通过for循环时,都会将LowestPrice与leadingPrice数组中的下一个条目进行比较。如果新条目较低,则LowestPrice将更新为新条目。如果不是,它将保持当前状态。在完成整个阵列的整个过程后,您可以保证拥有最低的价格。

一种更简洁的方式是:假设第一个条目是最低的,然后遍历整个数组,寻找更低的价格。每次你找到一个,你就替换掉你目前最低的候选人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51050030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档