连接: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/博客