题解 | #寻找第K大#

寻找第K大

http://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf

# -*- coding:utf-8 -*-

class Solution:
    def findKth(self, a, n, K):
        # write code here
        #先来个快速排序
        resArr = self.quickSort(a)
        #最后直接返回结果
        return resArr[n-K]
    def quickSort(self, arr):
        if len(arr)>=2:
            mid=arr[len(arr)//2]
            left = []
            right = []
            arr.remove(mid)
            for num in arr:
                if num>mid:
                    right.append(num)
                else:
                    left.append(num)
            return self.quickSort(left)+[mid]+self.quickSort(right)
        else:
            return arr
全部评论
快排会超时
点赞 回复 分享
发布于 2022-04-19 18:11
你这样空间复杂能是o(1)?
点赞 回复 分享
发布于 2022-04-13 21:22

相关推荐

陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
评论
12
收藏
分享

创作者周榜

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