题解 | #最小的K个数#

最小的K个数

http://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param input int整型一维数组 
# @param k int整型 
# @return int整型一维数组
#
class Solution:
    def GetLeastNumbers_Solution(self , input: List[int], k: int) -> List[int]:
        # write code here
        def quickSort(aList, first, last):
            if first < last:
                key = first
                left = first + 1
                right = last
                while left <= right:
                    while left <= right and aList[left] <= aList[key]:
                        left += 1
                    while left <= right and aList[key] <= aList[right]:
                        right -= 1
                    if left <= right:
                        aList[left], aList[right] = aList[right], aList[left]
                    else:
                        aList[right], aList[key] = aList[key], aList[right]
                if right > k:
                    quickSort(aList, 0, right-1)
                if right < k:
                    quickSort(aList, right+1, last)

        quickSort(input, 0, len(input) - 1)
        return input[0:k]

            
        
        
全部评论

相关推荐

10-31 20:07
门头沟学院 Java
点赞 评论 收藏
分享
11-12 14:30
已编辑
广东科技学院 前端工程师
迷茫的小刺猬在迎接o...:前端岗位越来越少了,中小厂也更倾向全栈了,更不需要初级或者实习。可能就大厂才会有一些岗位,但是很看学历。
实习,投递多份简历没人回...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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