function findMaxRecursive(arr, start, end) {
if (start === end) {
return arr[start];
}
// 计算中间位置
const mid = Math.floor((start + end) / 2);
// 递归调用:找出前半部分的最大元素值
const max1 = findMaxRecursive(arr, start, mid);
// 递归调用:找出后半部分的最大元素值
const max2 = findMaxRecursive(arr, mid + 1, end);
// 返回前半部分和后半部分的最大值中的较大者
return Math.max(max1, max2);
}
function findMax(arr) {
return findMaxRecursive(arr, 0, arr.length - 1);
}
const array = [10, 22, 3, 45, 6, 77, 8];
console.log(findMax(array));