Hel*_*rld 0 java arrays algorithm search
所以我有这段代码,它基本上是试图找到数组中的最大数字和最小数字(这里是票价)。但是我发现自己写了两个 for 循环,我想知道是否有更有效的方法来写这个?
/** Setting cheapestCost to the index of the cheapest transport obj*/
for(int i = 0; i < 15; i++) {
if(allTransports[cheapestCost].getTicketPrice() > allTransports[i].getTicketPrice()) {
cheapestCost = i;
}
}
/** Setting greatestCost to the index of the most expensive transport obj*/
for(int i = 0; i < 15; i++) {
if(allTransports[greatestCost].getTicketPrice() < allTransports[i].getTicketPrice()) {
greatestCost = i;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
小智 9
在我看来,您可以将这两个循环结合起来:
for(int i = 0; i < 15; i++) {
int price = allTransports[i].getTicketPrice();
if(allTransports[cheapestCost].getTicketPrice() > price) {
cheapestCost = i;
}
if(allTransports[greatestCost].getTicketPrice() < price) {
greatestCost = i;
}
}
Run Code Online (Sandbox Code Playgroud)