设置一个数组,把它分成 n 份,对每一份分别求出最大值
时间: 2024-05-15 17:14:36 浏览: 14
或者平均值,然后将这些最大值或平均值存储到一个新数组中,最后返回该新数组。
好的,这是一个关于编程的问题,我可以给你回答。您可以使用以下代码实现该功能:
```python
def split_array(arr, n, option):
"""
:param arr: 原始数组
:param n: 将原始数组分成的份数
:param option: 操作类型,可选关键字为 "max" 或 "average"
:return: 处理后得到的新数组
"""
if option not in ["max", "average"]:
raise ValueError("无效的操作类型")
sub_len = len(arr) // n
result = []
for i in range(n):
start = i * sub_len
end = start + sub_len
sub_arr = arr[start:end]
if option == "max":
result.append(max(sub_arr))
elif option == "average":
result.append(sum(sub_arr) / len(sub_arr))
return result
```
使用方式如下:
```python
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
n = 3
max_result = split_array(arr, n, "max")
print(max_result) # [3, 6, 9]
average_result = split_array(arr, n, "average")
print(average_result) # [2.0, 5.0, 8.0]
```
其中,arr 表示原始数组,n 表示将原始数组分成的份数,option 表示操作类型,可以是 "max" 或 "average"。最后返回处理后得到的新数组。