Java 查找数组中的最大值,但小于数组中的第一个数字
我需要找出如何在数组中找到小于数组第一个索引的最大值。到目前为止,我只找到了如何在数组中找到最大值(如下所示),但我只需要从方法返回小于数组中第一个数字的最大值即可Java 查找数组中的最大值,但小于数组中的第一个数字,java,arrays,recursion,Java,Arrays,Recursion,我需要找出如何在数组中找到小于数组第一个索引的最大值。到目前为止,我只找到了如何在数组中找到最大值(如下所示),但我只需要从方法返回小于数组中第一个数字的最大值即可 public static int findMaxOfLessThanFirst(int[] numbers, int startIndex, int endIndex, int firstNumber) { if (endIndex == startIndex) { return numbers[endIndex];
public static int findMaxOfLessThanFirst(int[] numbers, int startIndex, int endIndex, int firstNumber) {
if (endIndex == startIndex) {
return numbers[endIndex];
}
else {
int max = findMaxOfLessThanFirst(numbers, startIndex, endIndex - 1, firstNumber); //Calling method using recursion.
if (max < numbers[endIndex]) {
return numbers[endIndex];
}
else {
return max;
}
}
public static int findMaxOfLessThanFirst(int[]numbers,int startIndex,int endIndex,int firstNumber){
如果(endIndex==startIndex){
返回编号[endIndex];
}
否则{
int max=findMaxOfLessThanFirst(numbers,startIndex,endIndex-1,firstNumber);//使用递归调用方法。
如果(最大值<数字[endIndex]){
返回编号[endIndex];
}
否则{
返回最大值;
}
}
}更改条件:
if (max < numbers[endIndex]) {
if(max
致:
if(max
递归方法似乎太过分了
int maxLessThanFirst( int[] arr ) {
int max = Integ3er.MIN_VALUE;
for ( int i=1; i < arr.length; i++ ) {
if ( arr[i] < arr[0] ) {
<Do normal max value check here>
}
}
return max;
}
int-maxlesthanfirst(int[]arr){
int max=整数3er.MIN_值;
对于(int i=1;i
请注意,在循环之后,如果max=MIN\u值,则需要检查是否至少有一个值
int maxLessThanFirst( int[] arr ) {
int max = Integ3er.MIN_VALUE;
for ( int i=1; i < arr.length; i++ ) {
if ( arr[i] < arr[0] ) {
<Do normal max value check here>
}
}
return max;
}