leetcode刷题之旅——215. Kth Largest Element in an Array
来源:互联网 发布:过期未注册域名查询 编辑:程序博客网 时间:2024/05/01 00:06
这道题目是分治算法中的一道题目,中等难度里面通过率为37%的一道求数组当中最大元素的一道题目。
题目大意:
给定一个数组,然后给定我们一个数字代表第几大的数,比如这个数字为1,那么就是从这个数组当中挑选出第一大的数字。
例子:
For example,
Given [3,2,1,5,6,4]
and k = 2, return 5.
算法:
这道题目其实比较简单,也有很多做法,用sort函数直接排序是可以的,复杂度为O(nlogn)。但是想到这道题目是分治算法的,所以为了练习,还是用快速排序做。做完之后,再根据给定的排名进行直接寻找就可以了。
代码:
class Solution {public: int findKthLargest(vector<int>& nums, int k) { qsortt(nums,0,nums.size()-1); int n=nums.size()-1; return nums[n-k+1]; } void qsortt(vector<int>& nums,int left,int right) { if(left>right) return; int temp; temp=nums[left]; int i,j; i=left; j=right; while(i!=j) { while(nums[j]>=temp&&i<j) j--; while(nums[i]<=temp&&i<j) i++; if(i<j) { int t; t=nums[i]; nums[i]=nums[j]; nums[j]=t; } } nums[left]=nums[i]; nums[i]=temp; qsortt(nums,left,i-1); qsortt(nums,i+1,right); }};
0 0
- leetcode刷题之旅——215. Kth Largest Element in an Array
- Leetcode——215. 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
- 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
- ios中如何自定义数字键盘
- 编写宏时需要注意的几点
- 2015年, 常见页面问题及其解决方法--css篇
- 居中相对定位和绝对定位的元素
- iso小练习,获取界面的空间,变量字符串int循环判断,get请求数据
- leetcode刷题之旅——215. Kth Largest Element in an Array
- C#加密整理
- Lua 数据结构
- POJ1088 滑雪(动态规划+深搜DFS)
- android的Space控件使用方式
- lavarel框架学习之使用ajax提交表单方法详解
- JSPatch详解
- 滑动改变toolbar透明度
- Creating Custom Views