题解 | #寻找第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
全部评论
你这样空间复杂能是o(1)?
点赞 回复
分享
发布于 2022-04-13 21:22
快排会超时
点赞 回复
分享
发布于 2022-04-19 18:11
滴滴
校招火热招聘中
官网直投

相关推荐

投递腾讯云智研发等公司9个岗位
点赞 评论 收藏
转发
11 收藏 评论
分享
牛客网
牛客企业服务