1 def main(): 2 n = int(raw_input()) 3 k = int(raw_input()) 4 5 k_arr = [] 6 min_dif = 9999999999 # 根據input要求,規定一個極大值 7 8 for _ in xrange(n): 9 k_arr.append(int(raw_input())) 10 11 k_arr.sort() # "有序化”解決很多問題12 13 for _ in xrange(n-k+1):14 if k_arr[_+k-1] - k_arr[_] < min_dif: # 比較“相應間隔”15 min_dif = k_arr[_+k-1] - k_arr[_]16 PRint min_dif17 18 main()
Link:
https://www.hackerrank.com/challenges/angry-children
學習:
抽象化抽象化,然后找對應關系:
所有題目的根本就是抽象化,然后用最簡單的方式去解決它
數學化,圖像化
很多問題用數學公式表達出來,或者畫畫圖,自然就明白了
“有序化”
對list有序的處理,能解決很多問題
新聞熱點
疑難解答