码迷,mamicode.com
首页 > 编程语言 > 详细

【Leetcode】排序相关

时间:2021-04-02 13:24:48      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:span   排序   代码   tco   kth   最大   而不是   quic   lse   

【Leetcode-215】

一、题目:数组中的第k大元素

  在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

二、代码:

def findKthLargest(self, nums: List[int], k: int) -> int:
        def quick_sort(arr, l, r, k):
            # if l >= r:
            #     return
            item = arr[l]
            i, j = l, r
            while i < j:
                while arr[j] <= item and i < j:
                    j -= 1
                if i < j:
                    arr[i], arr[j] = arr[j], arr[i]
                while arr[i] >= item and i < j:
                    i += 1
                if i < j:
                    arr[i], arr[j] = arr[j], arr[i]
            if i == k-1:
                return arr[i]
            elif i < k-1:
                return quick_sort(arr, i+1, r, k)
            else:
                return quick_sort(arr, l, i-1, k)
            
        n =  len(nums)
        res = quick_sort(nums, 0, n - 1, k)
        return res

 

【Leetcode】排序相关

标签:span   排序   代码   tco   kth   最大   而不是   quic   lse   

原文地址:https://www.cnblogs.com/EstherLjy/p/14608649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!