我正在尝试创建两种方法,一种找到对象数组中的最小值,另一种找到对象数组中第二个最小值。
我已经这样写了两个
public static BanffMarathonRunner getFastestTime(BanffMarathonRunner[] runner){
if(runner.length == 0){
return null;
}
BanffMarathonRunner fastest = runner[0];
for(int i = 0; i< runner.length; i++){
BanffMarathonRunner now = runner[i];
if(now.Time < fastest.Time){
fastest = now;
}
}
return fastest;
}
public static BanffMarathonRunner getSecondFastestTime(BanffMarathonRunner[] runner){
if(runner.length == 0){
return null;
}
BanffMarathonRunner fastest = runner[0];
BanffMarathonRunner secondFastest = runner[0];
for(int i = 0; i< runner.length; i++){
BanffMarathonRunner now = runner[i];
if(now.Time < fastest.Time){
fastest = now;
for(int j = 0; j< runner.length; j++){
BanffMarathonRunner now2 = runner[j];
if(now2.Time < secondFastest.Time){
secondFastest = now2;
if(now2.Time == fastest.Time){
secondFastest = secondFastest;
}
}
}
}
}
return secondFastest;
}
我已经找到了如何找到最小的值,我只需要找到第二个最小的值,我不确定怎么做。
有任何想法吗?谢谢!
像这样的东西:
findSecondSmallest anArray[]:
if anArray.length < 2:
return null;
fastest = anArray[0];
secondFastest = anArray[1];
if fastest > secondFastest:
fastest = anArray[1];
secondFastest = anArray[0]
for each element in anArray:
if element < fastest:
secondFastest = fastest;
fastest = element;
else if element < secondFastest:
secondFastest = element;
return secondFastest
问题内容: 我正在尝试在数组中找到数字的最小值,但并非总是能正常工作。这是我写的代码: 有人可以纠正我吗? 问题答案: 不需要外部循环,它只运行一次,并且无论如何您都不会使用。你为什么有它? 对于内部循环,您需要与最小值进行比较。现在,您正在将其与数组中的第一个元素(不一定是最小值)进行比较。 另外,您可以从1开始循环,因为您不需要与自身进行比较(它只分配给)
主要内容:普通算法,分治算法程序中,我们经常使用数组(列表)存储给定的线性序列(例如 {1,2,3,4}),那么如何查找数组(序列)中的最大值或者最小值呢? 查找数组(序列)中最大值或最小值的算法有很多,接下来我们以 {3,7,2,1} 序列为例讲解两种查找最值的算法,一种是普通算法,另一种是借助 分治算法解决。 普通算法 普通算法的解决思路是:创建两个变量 max 和 min 分别记录数组中的最大值和最小值,它们的初始值都
问题内容: 我们需要在分配中递归地找到一个数组中的第二个最小整数。但是,为了更好地理解该主题,我想先通过本网站进行迭代,然后自己进行递归。 不幸的是,迭代地进行相当混乱。我知道该解决方案很简单,但我无法解决。 到目前为止,以下是我的代码: 这适用于一些数字,但不是全部。数字会变化,因为内部if条件的效率不如外部if条件的效率。 禁止阵列重排。 问题答案: 试试这个。当最小的数字是第一个时,第二个条
问题内容: 我的代码没有给出错误,但是没有显示最小值和最大值。代码是: 我是否需要system.out.println()来显示它,否则返回应该起作用吗? 问题答案: 您正在调用方法,但不使用返回的值。
使用while循环,我必须执行以下操作: 使用变量“I”,计算输入的整数数量;使用变量“number”,表示输入的数字;使用变量“min”,表示迄今为止输入的最小数字;使用变量“max”,表示迄今为止输入的最大数字 用户将总共输入5个整数。 这是我的代码: 当我运行这个时,“I”、“number”和“maximum”变量似乎都能正常工作。但是,“minimum”变量要记住,“minimum”的设置
问题内容: 我想输出二维数组的最大值和最小值。Max可以很好地工作,但是即使在数组中没有零的情况下min也总是输出零。在本例中,我设置为99以防止较小的机会在数组中获得零。继承人完整代码: 问题答案: 由于您在中选择随机值的方式,不会存在小于零的值- 但也无法保证任何值都将恰好为零。但是,您将初始化为零,因为这是数组元素的默认值;没有什么比这更小了,所以答案总是零。 您应该在标记为“查找最小值”的