# -*- coding:utf-8 -*-
class Solution:
def GetLeastNumbers_Solution(self, tinput, k):
# write code here
#此方法时间复杂度为O(nlogn)
if k >len(tinput) or not tinput:
return []
#tinput.sort()
#实现一个快速排序
def quick_sort(array):
if not array:
return []
pivot=array[0]
left=quick_sort([x for x in array[1:] if x<pivot])
right=quick_sort([x for x in array[1:] if x>=pivot])
return left+[pivot]+right
return quick_sort(tinput)[:k]
最小的K个数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 给定一个无序的整型数组arr,找到其中最小的k个数 该题是互联网面试中十分高频的一道题,如果用普通的排序算法,排序...
- 下面我们讨论上述问题的解决思路: 思路一如果采用堆排序的构造最小堆,然后每次输出根结点元素后再调整最小堆然后反复调...
- 题目:输入n个整数,找出其中最小的k个数。 代码如下: 来源:http://blog.csdn.net/derra...