给定长度为2n的自然数列表nums,把这些数分成n对,把每一对的最小值加起来(不同的分法,其和可能不同),输出最小值和的最大值。
可以先用个循环给他分开一个二维数组么,然后如下,跟别取出一个来进行取大小(max,min),按顺序取
a=[5,2,6,7,2,9,5,8]
b=[]
k=0
min_ = 0
for i in range(int(len(a)/2)):
b.append(a[k:(k+2)])
k+=2
for j in range(len(b)):
min_ += min(b[j])
print(min_)
若果有用,请点采纳哦
import random
l = [1, 2, 3, 4]
random.shuffle(l)
min_l = 0
max_l = 0
for i in range(0, len(l), 2):
print(l[i], l[i + 1])
min_l = min_l + min(l[i], l[i + 1])
max_l = max_l + max(l[i], l[i + 1])
print("最小值:", min_l)
print("最大值:", max_l)
如有帮助,希望点一下采纳
最小值应该是sum(sorted(nums)[:n])
最大值应该是sum(sorted(nums)[::2])