牛客網 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/博客

相關文章
相關標籤/搜索