题解 | #最小的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


全部评论

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务