gpt4 book ai didi

python - 列表Python的最小和最大总和

转载 作者:行者123 更新时间:2023-11-28 20:13:12 25 4
gpt4 key购买 nike

我一直在 HackerRank 上解决问题,以便踏上解决 Python 问题的大门,虽然我在解决一些问题时很开心,但有一个问题难倒了我。

这道题是Mini-Max sum,需要一个输入(arr); 5 个整数 的数组,并通过 miniMaxSum(arr)

以下一行的格式打印来自 arr 的最大和最小 4 个整数的总和

最大最小值

例如miniMaxSum(1, 2, 3, 4, 5)

10 14

我已经做了一些你可以在下面找到的与此一起工作的东西,大多数例子返回了想要的结果,但我刚刚发现它不适用于 arr = (5、5、5、5、5)。我怀疑这是因为当最大值与列表中的另一个值相同时(例如 arr = 1、2、3、4、4)或最小值(例如 arr = 1、1、3、4、5) ,我的代码完全失败了,因为它不依赖任何与 arr 的最大或最小值相同的东西。如果有帮助,HackerRank 错误消息是“Wrong Answer”。

批评并提出改进建议,以便它适用于任何 5 个整数的数组(例如 (5, 5, 5, 5, 5))。我很想了解这是如何工作的,非常感谢您的帮助。提前致谢!

# Complete the miniMaxSum function below.
def miniMaxSum(arr):
listmax = []
listmin = []
for number in arr:
if number > min(arr):
listmax.append(number)
for number in arr:
if number < max(arr):
listmin.append(number)
maxnum = sum(listmax)
minnum = sum(listmin)
print (minnum, maxnum)

最佳答案

因为这是一个非常小的列表,我只是对其进行排序,然后选择前 5 个,然后选择最后 5 个,然后分别计算它们的总和。

def miniMaxSum(arr):
arr_sorted = sorted(arr)
return sum(arr_sorted[:4]), sum(arr_sorted[-4:])

print(miniMaxSum([1,2,3,4,5]))
print(miniMaxSum([5,5,5,5,5]))

输出:

>>> print(miniMaxSum([1,2,3,4,5]))
(10, 14)
>>> print(miniMaxSum([5,5,5,5,5]))
(20, 20)

关于python - 列表Python的最小和最大总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55193968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com