题目描述:
Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.
For example,
Given [3,2,1,5,6,4]
and k = 2, return 5.
解题思路:
我的思路就是对整个数组进行排序,不过因为题目只要求返回第kth大的元素,所以我们并不需要把整个数组进行排序,只需要排序到第kth大的元素即可。
代码:
1 class Solution { 2 public: 3 int findKthLargest(vector<int>& nums, int k) { 4 int n = nums.size(); 5 for(int i = 0; i < k; i++){ 6 int max = nums[i], index = i; 7 for(int j = i + 1; j < n; j++){ 8 if(max < nums[j]){ 9 index = j; 10 max = nums[j]; 11 } 12 } 13 nums[index] = nums[i]; 14 nums[i] = max; 15 } 16 return nums[k-1]; 17 } 18 };