题解 | #最小的K个数#
最小的K个数
http://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf
用快速排序法做:
# -*- coding:utf-8 -*- class Solution: def quicksort(self,array): if len(array)<2: return array if len(array)==2: if array[0]>array[1]: tmp=array[0] array[0]=array[1] array[1]=tmp return array else: pivot=array[0] left,right=[],[] for i in range(1,len(array)): if array[i]<=pivot: left.append(array[i]) else: right.append(array[i]) return self.quicksort(left)+[pivot]+self.quicksort(right) def GetLeastNumbers_Solution(self, tinput, k): if tinput==[]&nbs***bsp;k>len(tinput): return [] tinput=self.quicksort(tinput) # out=[tinput[i] for i in range(0,k)] out=tinput[:k] return out # write code here