最小的K个数
# -*- coding:utf-8 -*-
class Solution:
def GetLeastNumbers_Solution(self, tinput, k):
# write code here
if k > len(tinput):
return []
min_values = []
for i in range(k):
min_value = min(tinput)
min_values.append(min_value)
del tinput[tinput.index(min_value)]
return min_values
法2:
# -*- coding: utf-8 -*-
class Solution:
def GetLeastNumbers_Solution(self, tinput, k):
tinput_sorted = self.quick_sort(tinput)
return tinput_sorted[:k]
def quick_sort(self, input):
if len(input)<=1:
return input
left = self.quick_sort([num for num in input[1:] if num <= input[0]])
right = self.quick_sort([num for num in input[1:] if num > input[0]])
return left + [input[0]] + right
array = [16,17,18,19,15,24,25,20,7,14,23,22,21,8,13,12,11,10,9]
S = Solution()
result = S.GetLeastNumbers_Solution(array, 5)
print(result)