题解 | 寻找第K大

寻找第K大

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param a int整型一维数组 
# @param n int整型 
# @param K int整型 
# @return int整型
#
class Solution:
    def findKth(self , a: List[int], n: int, K: int) -> int:
        # write code here
        def quicksort(ls):
            if len(ls) < 1:
                return ls
            left, middle, right = list(), ls[0], list() # 初始化排序,这里应该都是ls的,而不是a
            for ele in ls[1:]:
                if ele < middle:
                    left.append(ele)
                else:
                    right.append(ele)
            return quicksort(left) + [middle] + quicksort(right)
        return quicksort(a)[n-K]
        

寻找第k大,如果是从小到大排那就是第n-K,如果是从大到小排就是K-1

全部评论

相关推荐

豆泥🍀:同26届,加油,我也还没找到查看图片
点赞 评论 收藏
分享
路过的咸蛋超人也想拿offer:你是我见过最美的牛客女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务