Week Training: 215 Kth Largest Element in an Array
来源:互联网 发布:网络算命高手 编辑:程序博客网 时间:2024/04/29 07:30
This is an exercise of the selection algorithm in the class this week just in time. In order to find the kth largest number, we first choose a random pivot, then put the numbers smaller and larger than it into 2 sequences. After that, if the size of the larger sequence is bigger than k, it does recursion in the larger sequence; if the size is smaller than rest length of the small sequence, do recursion in the small sequence with another k. The pivot finally returned is the answer.
class Solution {public: int findKthLargest(vector<int>& nums, int k) { srand(time(0)); int size = nums.size(); int n = rand()%size; int pivot = nums[n]; vector<int> v1, v2; for(int i=0;i<size;i++){ if(nums[i]>pivot) v1.push_back(nums[i]); else if(nums[i]<pivot) v2.push_back(nums[i]); } if(k<=v1.size()) return findKthLargest(v1,k); else if(k>(size-v2.size())) return findKthLargest(v2,k-(size-v2.size())); else return pivot; }};
0 0
- Week Training: 215 Kth Largest Element in an Array
- Leetcode:215. Kth Largest Element in an Array (week 10)
- 215Kth Largest Element in an Array
- 215-Kth Largest Element in an Array
- Kth Largest Element in an Array
- Leetcode Kth Largest Element in an Array
- Kth Largest Element in an Array
- 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] Kth Largest Element in an Array
- Kth Largest Element in an Array
- Kth Largest Element in an Array
- leetcode--Kth Largest Element in an Array
- Kth Largest Element in an Array
- 215.Kth Largest Element in an Array
- 国内第一款案例式学习JavaScript APP | 码集
- UIAlertController的用法
- centos7安装vsftp
- 腾讯EC .net API对接第三方系统
- windows上搭建mongodb Replica Set
- Week Training: 215 Kth Largest Element in an Array
- 数独问题
- struts2获取界面数据的3种方式
- JAVA面向对象的思想
- 决策树梳理
- Linux文件访问权限
- Mac上tomcat使用https
- 手机充电器电源适配器原理
- 基于jquery,自己编写的基本验证