第26783题 单选
以下哪个Python实现的find_max函数正确实现了分治逻辑,可计算数组arr索引low到high范围内的最大元素?
A
def find_max(arr, low, high):
if low = high:
return arr[low]
mid = low + (high - low) // 2
left_max = find_max(arr, low, mid)
right_max = find_max(arr, mid, high)
return left_max if left_max > right_max else right_max
B
def find_max(arr, low, high):
if low == high:
return arr[low]
mid = low + (high - low) // 2
left_max = find_max(arr, low, mid)
right_max = find_max(arr, mid, high)
return left_max if left_max > right_max else right_max
C
def find_max(arr, low, high):
if low == high:
return arr[low]
mid = low + (high - low) // 2
left_max = find_max(arr, low, mid)
right_max = find_max(arr, mid - 1, high)
return left_max if left_max > right_max else right_max
D
def find_max(arr, low, high):
if low == high:
return arr[low]
mid = low + (high - low) // 2
left_max = find_max(arr, low, mid)
right_max = find_max(arr, mid + 1, high)
return left_max if left_max > right_max else right_max