写 寻找最小k 个数 时,直接用快排写。但是快排一开始写错了。。。
class Solution:
def GetLeastNumbers_Solution(self, tinput, k):
if tinput ==[] or k > len(tinput) or k<0:
return []
#tinput.sort()
self.quicksort(tinput,0,len(tinput)-1)
return tinput[0:k]
def quicksort(self,alist,start,end):
if start <end:
pivot = self.partition(alist, start,end)
self.quicksort(alist,start,pivot-1)
self.quicksort(alist,pivot+1,end)
def partition(self,alist,start,end ):
pivotvalue = alist[start]
left = start+1;
right = end
done = False
while not done:
# 出错点: 两个 = 没写
#while left < right and alist[left]<=pivotvalue:
while left <= right and alist