EchoDemo's Blogs

LintCode 第k大元素

在数组中找到第k大的元素,你可以交换数组中的元素的位置。

样例:给出数组 [9,3,2,4,8],第三大的元素是 4

给出数组 [1,2,3,4,5],第一大的元素是 5,第二大的元素是 4,第三大的元素是 3,以此类推

挑战:要求时间复杂度为O(n),空间复杂度为O(1)

题目代码:

class Solution {
public:
    /*
     * @param n: An integer
     * @param nums: An array
     * @return: the Kth largest element
     */
    int kthLargestElement(int n, vector<int> &nums) {
        // write your code here
        int i=nums.size();
        sort(nums.begin(),nums.end());
        return nums[i-n];
    }
};
🐶 您的支持将鼓励我继续创作 🐶
-------------本文结束感谢您的阅读-------------