牛客网 nowcoder - 庆祝61

连接:https://www.nowcoder.com/questionTerminal/0c16f758949f4d17ab73a9a1ffe7ab9b
来源:牛客网 python

牛家庄幼儿园为庆祝61儿童节举办庆祝活动,庆祝活动中有一个节目是小朋友们围成一个圆圈跳舞。牛老师挑选出n个小朋友参与跳舞节目,已知每一个小朋友的身高h_i。为了让舞蹈看起来和谐,牛老师须要让跳舞的圆圈队形中相邻小朋友的身高差的最大值最小,牛老师犯了难,但愿你能帮帮他。
如样例所示:
当圆圈队伍按照100,98,103,105顺时针排列的时候最大身高差为5,其余排列不会获得更优的解code

输入描述:

输入包括两行,第一行为一个正整数n(3 ≤ n ≤ 20)
第二行为n个整数h_i(80 ≤ h_i ≤ 140),表示每一个小朋友的身高。排序

代码

n = int(input())
l = [int(x) for x in input().split(' ')]
l.sort()
ans = 0
for i in range(2, n):
    ans = max(ans, l[i] - l[i-2])
print(ans)

解题思路

先排序,而后最佳的排列方案是:奇数位置和偶数位置分为两队,两队首尾相接。get

这样最大身高差是:整个队伍排序后,间隔一位的任意两我的中的最大身高差input

欢迎来个人博客: https://codeplot.top/
个人博客刷题分类:https://codeplot.top/categories/%E5%88%B7%E9%A2%98/博客

相关文章
相关标签/搜索