leetcode 215. Kth Largest Element in an Array
来源:互联网 发布:淘宝电影票能退吗 编辑:程序博客网 时间:2024/05/17 01:30
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.
Note:
You may assume k is always valid, 1 ≤ k ≤ array's length.
For example,
Given [3,2,1,5,6,4] and k = 2, return 5.
Note:
You may assume k is always valid, 1 ≤ k ≤ array's length.
利用快排的partition函数思想,选定一个数组内的值作为pivot,将小于pivot的数字放到pivot右边,大于等于pivot的数字放到pivot左边。接着判断两边数字的数量,如果左边的数量小于k个,说明第k大的数字存在于pivot及pivot右边的区域之内,对右半区执行partition函数;如果右边的数量小于k个,说明第k大的数字在pivot和pivot左边的区域之内,对左半区执行partition函数。直到左半区刚好有k-1个数,那么第k大的数就已经找到了
class Solution {public: int findKthLargest(vector<int>& nums, int k) { int high = nums.size(); int low = 0; while (low < high) { int i = low; int j = high-1; int pivot = nums[low]; while (i <= j) { while (i <= j && nums[i] >= pivot) i++; while (i <= j && nums[j] < pivot) j--; if (i < j) swap(nums[i++],nums[j--]); } swap(nums[low],nums[j]); if (j == k-1) return nums[j]; else if (j < k-1) low = j+1; else high = j; } }};
阅读全文
0 0
- Leetcode Kth Largest Element in an Array
- Leetcode: Kth Largest Element in an Array
- LeetCode Kth Largest Element in an Array
- [LeetCode] Kth Largest Element in an Array
- [leetcode] Kth Largest Element in an Array
- leetcode--Kth Largest Element in an Array
- #leetcode#Kth Largest Element in an Array
- LeetCode Kth Largest Element in an Array
- 【Leetcode】Kth Largest Element in an Array
- Leetcode: Kth Largest Element in an Array
- Kth Largest Element in an Array -- leetcode
- [Leetcode]Kth Largest Element in an Array
- [LeetCode]Kth Largest Element in an Array
- *LeetCode-Kth Largest Element in an Array
- LeetCode----Kth Largest Element in an Array
- LeetCode Kth Largest Element in an Array
- leetcode-Kth Largest Element in an Array
- LeetCode -- Kth Largest Element in an Array
- 专访阿里云闵万里:云上逐鹿,ET大脑要做行业化、垂直化的创新运用
- C数据结构-链栈
- 小故事,大道理
- 解密MySQL备份恢复的4种方法(转)
- “基于颜色属性直方图的尺度目标跟踪算法研究”阅读笔记
- leetcode 215. Kth Largest Element in an Array
- 【深入PHP 面向对象】读书笔记(十五)
- bzoj 1297: [SCOI2009]迷路
- 通过Apache转发和Tomcat共用80端口
- 高防服务器如何选择
- Leetcode-11:Container With Most Water
- HTML-jQuery入门
- iText制作PDF文件 学习笔记 (四)
- 【学术】矩阵谱半径与最大特征值