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


全部评论

相关推荐

头像 会员标识
02-14 15:34
门头沟学院 Java
Java抽象带篮子:专业技能怎么写可以看看我发的帖子
点赞 评论 收藏
分享
lingo12:1.最好加个业务项目,大部分面试官工作以后会更偏重业务 2.实习部分描述一般般,可能hr看到会觉得你产出不够不给你过简历 3.蓝桥杯这些大部分人都有的,不如不写,反而减分项。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务