列表Python的最小和和和和最大值

2024-10-01 07:44:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在HackerRank上做一些问题,以帮助我在解决python问题方面取得进展,虽然我在处理一些问题时很开心,但有一个问题是困扰着我。在

这个问题是Mini-Max-sum,它接受一个输入(arr);一个由5个整数组成的数组,并通过miniMaxSum(arr)

最大最小值

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

10月14日

我已经做了一些事情,你可以在下面找到它,并且大多数例子返回期望的结果,但是我发现它对arr=(5,5,5,5)不起作用。我怀疑这是因为当最大值与列表中的另一个值相同时(例如arr=1、2、3、4、4),或者类似的最小值(例如arr=1、1、3、4、5),我的代码就会失败,因为它不依赖于与arr的最大值或最小值相同的值。如果有帮助,HackerRank错误消息是“错误答案”。在

评论并提出改进意见以便它能与任何由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)

Tags: innumberforif错误整数数组sum
3条回答

试着取总的和减去最小值或最大值:

def maxnum (x):
    return sum(x) - min(x)
def minnum(x):
    return sum(x) - max(x)

a = list(range(5))
b = [5]*5
print (a)
print (maxnum(a), minnum(a))
print (b)
print (maxnum(b), minnum(b))

输出:

[0,1,2,3,4]

10 6

[5,5,5,5,5]

20 20日

#!/bin/python3
# Complete the miniMaxSum function below.
def miniMaxSum(arr):
   arr=sorted(arr)
   s = sum(arr)
   print(s-arr[-1],s-arr[0])

因为这是一个非常小的列表,我只需对它进行排序,然后选出前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]))

输出:

^{pr2}$

相关问题 更多 >