题目描述:

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 };

 

posted on 2018-04-07 22:49  宵夜在哪  阅读(74)  评论(0编辑  收藏  举报