数组求最值改方法实现
时间: 2024-10-08 18:05:00 浏览: 22
树状数据资源程序:实现了树状数组,树状数组在求累加等问题时有很高的效率
数组求最值通常涉及到寻找数组中的最大值(max)或最小值(min)。你可以通过遍历整个数组的方式来实现这个功能。以下是使用迭代方法的一个基本步骤:
1. 初始化两个变量,一个用于存储当前找到的最大值(如果数组有负数),另一个用于存储最小值(如果数组有正数)。假设初始时都设为数组的第一个元素。
```python
def find_min_max(arr):
if len(arr) == 0:
return None, None
max_val = arr[0]
min_val = arr[0]
for num in arr:
# 如果当前数值大于最大值,更新最大值
if num > max_val:
max_val = num
# 同理,如果当前数值小于最小值,更新最小值
elif num < min_val:
min_val = num
return min_val, max_val
```
或者如果你更倾向于使用递归:
```python
def recursive_find_min_max(arr, n, curr_max=None, curr_min=None):
if n <= 0 or (curr_max is None and curr_min is None):
return arr[0], arr[0] if arr else None
if curr_max is None or arr[n - 1] > curr_max:
curr_max = arr[n - 1]
if curr_min is None or arr[n - 1] < curr_min:
curr_min = arr[n - 1]
return recursive_find_min_max(arr[:n - 1], n - 1, curr_max, curr_min)
```
阅读全文