对于我被要求解决的问题之一,我使用 for 循环找到了数组的最大值,所以我尝试使用递归找到它,这就是我想出的:
public static int findMax(int[] a, int head, int last) {
int max = 0;
if (head == last) {
return a[head];
} else if (a[head] < a[last]) {
return findMax(a, head + 1, last);
} else {
return a[head];
}
}
所以它工作正常并获得最大值,但我的问题是:对于基本情况返回 a[head] 以及头部的值最终大于值的情况是否可以?