0

有人可以告诉我我做错了什么吗?我已经对这个最小值和最大值查找器进行了编码,但我不断收到这个错误:“mml = getMinMax(a, low, high)”处的“StackOverflowError”。任何帮助将不胜感激。谢谢!

public class MinMax {
int min;
int max;

public static void main(String[] args){

    int a[] = {4, 23, 6, 42, 11};
    int aSize = a.length -1;
    MinMax test = getMinMax(a,0,aSize);
    System.out.println("Minimum: " + test.min);
}


public static MinMax getMinMax(int a[], int low, int high){
    MinMax minmax = new MinMax();
    MinMax mml = new MinMax();
    MinMax mmr = new MinMax();

    int mid = ((low + high)/2);
    mml = getMinMax(a, low, mid);
    mmr = getMinMax(a, mid+1, high);

    if(mml.min < mmr.min){
        minmax.min = mml.min;
    }else{
        minmax.max = mmr.max;
    }

    if(mml.max > mmr.max){
        minmax.max = mml.max;
    }else{
        minmax.max = mmr.max;
    }
    return minmax;      
}   

}

4

0 回答 0