题目

给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。

请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

示例

输入: [3,2,1,5,6,4] 和 k = 2
输出: 5

输入: [3,2,3,1,2,4,5,5,6] 和 k = 4
输出: 4

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/xx4gT2
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

方法1:快速排序

Java实现
class Solution {public int findKthLargest(int[] nums, int k) {quick_sort(nums, 0, nums.length - 1);return nums[nums.length - k];}public void quick_sort(int[] nums, int l, int r) {if (l >= r) return;int i = l - 1, j = r + 1, x = nums[l + r >> 1];while (i < j) {do {i++;} while (nums[i] < x);do {j--;} while (nums[j] > x);if (i < j) {int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}}quick_sort(nums, l, j);quick_sort(nums, j + 1, r);}
}

剑指 Offer II 076. 数组中的第 k 大的数字相关推荐

  1. 915. 分割数组、剑指 Offer II 076. 数组中的第 k 大的数字

    LeetCode题解 1.分割数组 2.数组中的第 k 大的数字 1.分割数组 题目描述: ➡️挑战链接⬅️ 分析: 首先题目叙述的很简单: 要求呢 1.左右两个区间元素必须连续 2.左右区间必须都有 ...

  2. 剑指 Offer II 028. 数组中出现次数超过一半的数字

    注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找 ...

  3. 【剑指offer】登峰造极--数组中只出现一次的数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 思路: 位运算,异或思路,反正我是想不到-看了题解和评论才弄懂是怎么一回事. 按位与&, ...

  4. 剑指 Offer II 014. 字符串中的变位词

    剑指 Offer II 014. 字符串中的变位词 题目 示例 解答 题目来源为leetcode 题目 给定两个字符串s1和s2,写一个函数来判断s2是否包含s1的某个变位词. 换句话说,第一个字符串 ...

  5. 【LeetCode】剑指 Offer 54. 二叉搜索树的第k大节点

    [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 文章目录 [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 一.中序遍历(提前返回) 一.中序遍历(提前返回) ...

  6. 第k大的数python代码_Python实现查找数组中任意第k大的数字算法示例

    本文实例讲述了Python实现查找数组中任意第k大的数字算法.分享给大家供大家参考,具体如下: 模仿partion方法,当high=low小于k的时候,在后半部分搜索,当high=low大于k的时候, ...

  7. 【剑指offer】_12 数组中的逆序对

    题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%1000 ...

  8. 对分查找的最多次数_「剑指offer题解」数组中出现次数超过一半的数字

    关注我--个人公众号:后端技术漫谈 我目前是一名后端开发工程师.主要关注后端开发,数据安全,网络爬虫,物联网,边缘计算等方向. 原创博客主要内容 Java知识点复习全手册 Leetcode算法题解析 ...

  9. 剑指offer系列-03.数组中的重复数字

    剑指offer系列第03题.数组中的重复数字 找出数组中重复的数字.在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内. 数组中某些数字是重复的,但不知道有几个数字重复了,也不 ...

最新文章

  1. 文件系统管理 之 Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍...
  2. UI组件-UISlider
  3. 【转】维护工厂库存的一般设置
  4. python integer_【Python】string/list/integer常用函数总结
  5. java继承类型转换_#java 一个简单的例子理解java继承、成员函数重写、类型转换...
  6. html5输入框自动放大镜,JS 仿支付宝input输入显示数字放大镜
  7. Android—关于通知NotificationManager操作
  8. [vue] 说下$attrs和$listeners的使用场景
  9. CVPR 2022 中科院、腾讯提出LAS-AT,利用“可学习攻击策略”进行“对抗训练”
  10. scala 基础 ——关键字与特殊符号
  11. 机床电气课程设计(自己总结)
  12. win7如何设置通电自动开机_WIN7自动开机怎么设置?
  13. 声纹识别与声源定位(一)
  14. VBA小模板:一个奖励放回的普通抽奖用VBA怎么写?
  15. UCSC寻找基因位置并用IGV画出基因转录示意图
  16. 《教育学原理》知识框架整理
  17. 路由 IS-IS NSR
  18. 基金投资从入门到精通
  19. 程序员养娃记:撸一手好代码,却带不好一个娃?!
  20. 通过window.open下载pdf或直接打开文件

热门文章

  1. Makefile原理
  2. 【历史上的今天】7 月 20 日:人类登上月球;数据仓库之父诞生;Mac OS X Lion 发布
  3. 未来几十年内人类将可在月球定居:生育繁衍下一代
  4. 【Linux系列】安装配置Nginx
  5. 图灵的停机问题背后令人着迷的数学(哲学)原理
  6. YYKit Demo
  7. 联邦学习在金融领域的发展和应用
  8. 【安卓】【Dimens】适配文件创建
  9. easyui+struts2:datagrid无法不能得到数据
  10. [导入]在水一方的个人网站