难度:midium
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.
class Solution { public: int findindex(vector<int>&nums) { int length=nums.size(); int num=nums[0]; int index=0; for(int i=0;i<length;i++) { if(nums[i]>=num) { num=nums[i]; index=i; } } return index; } int findKthLargest(vector<int>& nums, int k) { vector<int>temp=nums; int length=temp.size(); int number=0; for(int i =0;i<k;i++) { int index=findindex(temp); number=temp[index]; temp[index]=-1000; } return number; } };
题解:说实话好像没有用到divide-and-conquere。。。嘻嘻
直接寻找k次最大的元素 然后将此元素置为0
然后输出最后一次找到的元素