繁体   English   中英

查找5个数字列表的最小和和最大和

[英]Finding minimum sum and maximum sum of 5 number list

我在hackerrank上遇到了一个练习,以找到5个数字列表的最小和最大和并打印最小和最大和。

例如,给定列表 [1, 3, 5, 7, 9],我将 1 + 3 + 5 + 7 相加得到 16,将 3 + 5 + 7 + 9 相加得到 24。所以,答案是 16,和 24。

我得到了上面示例列表的正确答案,也得到了 [1, 2, 3, 4, 5] 的正确答案,即 10 和 14。但是对于 [7, 69, 2, 221, 8974],它说答案应该是 299和 9271。当我运行我的代码时,我得到 299 和 9266。

我的代码哪里错了? 还是问题错了? 谢谢。

def miniMaxSum(arr):
    # Write your code here
    minSum = sum( arr[:-1])
    maxSum = sum( arr[1:])
    print(minSum,maxSum)

只需添加:

arr.sort()

高于 minSum。 这将对列表进行排序。

此代码有效:

list1 = [7, 69, 2, 221, 8974]

largest = max(list1)

smallest = min(list1)


def MinMaxSum():
    sum_min = 0
    sum_max = 0
    for i in list1:
        if i == largest:
            continue
        else:
            sum_min += i

    for i in list1:
        if i == smallest:
            continue
        else:
            sum_max += i
       
    print(sum_min, sum_max)

MinMaxSum()

它返回 299 最小值和 9271 最大值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM