#include <stdio.h>
int get_max(int* arr, int left, int right) {
int max_left = 0, max_right = 0, middle = 0;
if (arr == NULL) {
return -1;
}
if (right - left == 0) {
return arr[left];
}
if (right - left <= 1) {
if (arr[left] >= arr[right]) {
return arr[left];
}
return arr[right];
}
middle = (right - left) / 2 + left;
max_left = get_max(arr, left, middle);
max_right = get_max(arr, middle + 1, right);
if (max_left >= max_right) {
return max_left;
}
else {
return max_right;
}
}
int main() {
int arr[4] = { 3,7,2,1 };
int max = get_max(arr, 0, 3);
printf("最大值:%d", max);
return 0;
}
}