# -*- coding:utf-8 -*-
#输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
#思路:求多少个k,就把k个数先存放在一个容器里面,
#接下来,容器k个数已经满
#此时遍历后面的数字,当后面的数字大于容器中的最大值的时候:删除容器之前的最大值max_k,加入此时的数字tinput[kk]
class Solution:
def GetLeastNumbers_Solution(self, tinput, k):
# write code here
min_k=[]
for i in range(0,k):
min_k.append(tinput[i])
for kk in range(k,len(tinput)):
max_k=max(min_k)
max_index=min_k.index(max_k)
#print('index:',max_index)
if tinput[kk]<max_k:
del min_k[max_index]
min_k.append(tinput[kk])
#min_k.sorted()
return sorted(min_k)
kk=[4,5,1,6,2,7,3,8]
test=Solution()
print test.GetLeastNumbers_Solution(kk,4)