题解 | #最小的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.如果不是实在没东西写不要写熟悉async await这些语法层面的东西 2.也不要写熟悉HTTP,因为http内容很多,稍微深挖一点你不会的话会让人有一种“原来你简历上面的东西都没有完全掌握”的感觉,容易给自己挖坑 3.自我评价可以删了 4.我在复习明天的面试,先mark,后面再回来继续建议
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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