最近,我尝试编写一个Java程序来搜索数组的最小值。 我尝试用不同的方式编写它,我知道有更简单的方法可以做到这一点,但我想知道为什么我的程序不起作用。
这是源代码:
public int minimum(int [] t) {
int min,i,j;
i=j=t.length/2;
min=t[t.length/2];
while(j!=0 || i!=t.length-1) {
while( t[i]>=min) {
i++;
if(i==t.length) {
i=t.length-1;
continue;
}
}
while(t[j]>=min) {
j--;
if(j==-1) {
j=0;
continue;
}
}
if(t[i]<=min && t[j]<=min) {
if(t[i]<=t[j]) min=t[i];
else min=t[j];
}
}
return min;
}
谢谢。
最佳答案
在阅读答案之前,您应该尝试调试代码以自己解决这个问题。
我认为您的代码在这些内部 while
循环之一中无限循环,因为结束条件
if(i==t.length) {
i=t.length-1;
继续;
}
仅将i
重置为后退一步,而continue
则重新启动while
循环。您可能想要使用 break
关键字,而不是 continue
,在这种情况下,您的代码将继续执行另一个内部 while 循环。
关于java - 查找查找整数数组最小值的算法实现中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60553390/