最大n个数与最小n个数的和python实现
时间: 2023-05-10 22:54:29 浏览: 87
在python中,我们可以通过使用sorted函数对数组进行排序来找到最大或最小的n个元素。 在找到最大n个数的和时,我们可以先对数组进行排序,然后将数组中的最后n个元素求和。在找到最小n个数的和时,我们也可以使用类似的方法,只不过我们需要对数组进行升序排序,然后将前n个元素求和。
下面是一个示例代码,可以计算数组中最大n个数和最小n个数之和:
```
# 计算最大n个数的和
def max_sum(arr, n):
arr = sorted(arr, reverse=True) # 对数组进行降序排序
total = sum(arr[:n]) # 取最大的n个元素,并求和
return total
# 计算最小n个数的和
def min_sum(arr, n):
arr = sorted(arr) # 对数组进行升序排序
total = sum(arr[:n]) # 取最小的n个元素,并求和
return total
# 示例使用
arr = [1, 4, 2, 7, 5, 8]
n = 3
print(max_sum(arr, n)) # 输出为20(8 + 7 + 5)
print(min_sum(arr, n)) # 输出为7(1 + 2 + 4)
```
在上面的代码中,我们定义了两个函数:`max_sum`和`min_sum`,用于计算最大n个数的和和最小n个数的和。 在这些函数中,我们使用了sorted函数来对数组进行排序,并使用切片语法来获取所需的元素。 通过这种方式,我们可以实现快速有效地找到最大n个数和最小n个数的和。