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


全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 20:37
点赞 评论 收藏
分享
zzzilik:没事的,才刚刚开始,后面会捞的,这个三天没人发起面试自动结束,但是面试官还是能看到简历,四月份主战场会慢慢捞
点赞 评论 收藏
分享
04-21 16:05
已编辑
山西大学 Java
不吃压力👿:我和你简历差不多,好多看到28就不回复了,回复的基本是全栈或低代码
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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