原始问题:
Java递归算法求含n个整数数组的最大元素值
解析:首先需要定义一个递归函数,输入参数为数组a、当前索引i和数组长度n。在递归过程中,当i等于n-1时,返回数组a[i];否则,计算中间位置mid=(i+n-1)/2,然后分别递归求解前半部分和后半部分的最大元素值max1和max2,最后返回max(max1, max2)。
Java代码实现如下:
public class Main {
public static void main(String[] args) {
int[] a = {1, 3, 5, 7, 9};
System.out.println(findMax(a, 0, a.length));
}
public static int findMax(int[] a, int i, int n) {
if (i == n - 1) {
return a[i];
} else {
int mid = (i + n - 1) / 2;
int max1 = findMax(a, i, mid);
int max2 = findMax(a, mid + 1, n);
return Math.max(max1, max2);
}
}
}
Prev:掌握时间管理 提升生活品质