6-3 用递归法求数组的最大值
时间: 2023-11-28 08:47:40 浏览: 167
判断数组的最大值
3星 · 编辑精心推荐
可以使用递归法来求数组的最大值,具体步骤如下:
1. 定义一个函数 `find_max(arr, n)`,其中 `arr` 是待查找的数组,`n` 是数组长度。
2. 如果数组长度为 1,直接返回该元素值。
3. 否则,将该数组分为两个子数组,左子数组为 `arr[0:n//2]`,右子数组为 `arr[n//2:n]`。
4. 分别对左右子数组调用 `find_max()` 函数,返回左子数组的最大值和右子数组的最大值。
5. 比较两个子数组的最大值,返回较大值作为整个数组的最大值。
以下是示例 Python 代码实现:
```python
def find_max(arr, n):
if n == 1:
return arr[0]
else:
left_max = find_max(arr[0:n//2], n//2)
right_max = find_max(arr[n//2:n], n-n//2)
return max(left_max, right_max)
```
调用该函数:
```python
arr = [1, 2, 3, 4, 5, 6, 7]
n = len(arr)
print(find_max(arr, n)) # 输出 7
```
阅读全文