【Leetcode】排序相关

2021-06-06 15:04

阅读:284

标签: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] 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 :
                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

上一篇:Springmvc的REST风格

下一篇:C++之前言回忆


评论


亲,登录后才可以留言!