LeetCode215之数组中的第K个最大元素(相关话题:堆排序,快速排序,减治法)
2023-09-11 14:20:01 时间
题目描述:
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。
示例 1:
输入: [3,2,1,5,6,4] 和
k = 2
输出: 5
示例 2:
输入: [3,2,3,1,2,4,5,5,6] 和
k = 4
输出: 4
说明:
你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。
解法1:堆排序
解题思路
堆排序比较基本过程:把非叶子节点A下的子节点(A1,A2)的最大值(设为A1)和A比较。A1大于A的话,A1和A互换,否则不互换。在执行的过程中较小的值被逐层下移,下面对对堆排序过程的描述。
相关文章
- php之快速入门学习-11(数组排序)
- 工作总结 string数组 排序 string数组 比较
- 【BZOJ2727】双十字(动态规划,树状数组)
- 树状数组区间加法&区间求和操作
- shell判断数组内是否包含某成员,获取数组长度
- 【华为OD机试真题 python】数组去重和排序 【2022 Q4 | 100分】
- 【Vue】通过computed为筛选列表数组进行排序(图文+完整代码示例)
- 归并排序,树状数组 两种方法求逆序对
- iOS sort array 数组排序里面的对象
- 数组排序 -- 快速排序
- Java核心技术卷I基础知识3.10.5 数组排序
- list数组转tree树结构,并排序
- es6数组去重
- 快速排序,归并排序,堆排序的数组和单链表实现
- 简单数组排序和折半查找
- Java集合框架和数组的排序
- 数组对象按时间字符串排序(转载)
- JavaScript数组删除指定元素
- [LeetCode] 912. Sort an Array 数组排序
- Java小白入门200例65之Java sort()数组排序
- Java:数组的扩容与缩容