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_dif
17 
18 main()

Link:

  https://www.hackerrank.com/challenges/angry-children

学习:

  抽象化抽象化,然后找对应关系:

    所有题目的根本就是抽象化,然后用最简单的方式去解决它

  数学化,图像化

    很多问题用数学公式表达出来,或者画画图,自然就明白了

  “有序化”

    对list有序的处理,能解决很多问题

 posted on 2015-05-15 00:25  sangocare  阅读(296)  评论(0编辑  收藏  举报