给定整数数组 nums 和整数 k,请返回数组中第 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链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-arrayclass Solution:def findKthLargest(self, nums: List[int], k: int) -> int:def findTopKth(low, high):privot = random.randint(low, high)nums[privot], nums[low] = nums[low], nums[privot]i, j = low, low + 1base = nums[low]while j <= high:if nums[j] > base:nums[i+1], nums[j] = nums[j],nums[i+1]i += 1j += 1nums[i], nums[low] = nums[low], nums[i]if i == k - 1:return nums[i]elif i > k - 1:return findTopKth(low, i-1)else:return findTopKth(i+1, high)return findTopKth(0, len(nums)-1)class Solution:def findKthLargest(self, nums: List[int], k: int) -> int:sort_num = sorted(nums)return sort_num[::-1][k-1]

Leetcode 215.数组中第k个最大元素 (每日一题 20210713)相关推荐

  1. ⭐算法入门⭐《哈希表》中等05 —— LeetCode 215. 数组中的第K个最大元素

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   给定整数数组nums和 ...

  2. python 数组中第k个最大元素

    数组中第k个最大元素 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素.示例 1:输入: [3,2 ...

  3. LeetCode 215. 数组中的第K个最大元素(快速排序)

    1. 题目 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 ...

  4. leetcode 215.数组中的第K个最大元素

    难度:中等 频率:250 ** 题目:给定整数数组nums和整数k,清返回数组中第K个最大的元素. 清注意你要找的是数组排序后的第K个最大的元素,而不是第K个不同的元素. ** ** 题目类型: 经典 ...

  5. Leetcode——2053. 数组中第 K 个独一无二的字符串

    数组中第 K 个独一无二的字符串 题目 解题思路 题目 独一无二的字符串 指的是在一个数组中只出现过 一次 的字符串. 给你一个字符串数组 arr 和一个整数 k ,请你返回 arr 中第 k 个 独 ...

  6. 怎么修改数组中指定元素_求数组中第K大的元素

    问题描述 求无序数组int[] nums中第K大的元素. 例如 输入:nums[] = {9,5,8},k = 2 输出:8 输入:nums[] = {3,1,2,4,5,5,6},k = 4 输出: ...

  7. 力扣(LeetCode)215. 数组中的第K个最大元素(C语言)

    一.环境说明 本文是 LeetCode 215题 : 数组中的第K个最大元素,使用c语言实现. 快速选择.查找无序数组的利器! 测试环境:Visual Studio 2019. 二.代码展示 void ...

  8. vector删除第i个元素_[LeetCode] 215. 数组中的第K个最大元素

    题目链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/) 题目描述: 在未排序的数组中找到第 k 个最大的元素.请 ...

  9. LeetCode 215 数组中的第K个最大元素

    题目描述 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大 的元素,而不是第 k 个不同的元素. 题解 快速排序 代码 class Solution { pub ...

最新文章

  1. WP7进阶】——XNA游戏平面矩形碰撞检测
  2. XCTF-MISC-新手区-功夫再高也怕菜刀
  3. 总结Java常见面试题和答案
  4. 对软件工程这门课的期望
  5. Python之面向对象的程序设计
  6. python设计选择题代码源_Python程序的设计试题库完整
  7. 苹果录屏没声音_苹果手机外放没声音,自己动手就能解决
  8. 手机定位浅析 AGPS定位 LBS基站定位 卫星定位
  9. 《隐私保护周三见》86问 | 交流群互动合集
  10. UG模具:简单的运动仿真!只需七步,就让轮子转起来!
  11. 云课堂-java-jvm学习总结
  12. QQ和360干起来了,中国互联网2大服务商进行白刃战
  13. 软件工程师不可不知的10个概念 收藏
  14. 【Java】生产者消费者模式的三种实现
  15. 查询多个宅急送已签收单号,并分析出派件时效
  16. 周六日闲暇之余,做一些轻松浪漫的事情 二
  17. 如何解决“XMLHttpRequest: 网络错误 0x80070005, 拒绝访问。”问题
  18. 学习笔记69—金蝶财务软件安装教程(KIS12.3,win10)
  19. Ubuntu 14.04(64位)+GTX970+CUDA8.0+Tensorflow配置 (双显卡NVIDIA+Intel集成显卡) ------本内容是长时间的积累,有时间再详细整理...
  20. CSS知识点之W3schools学习笔记

热门文章

  1. laravel使用redis做缓存的方法
  2. ubuntu 安装google浏览器
  3. RabbitMQ Topic exchange
  4. HTML5 大战移动应用(一)
  5. android资源之res/raw和assets的异同
  6. 剑指offer:合并两个有序的链表
  7. php从内存中获取源码_【PHP7源码分析】PHP内存管理
  8. 柱状图设置坐标轴名称_职场老鸟珍藏的柱状图技巧
  9. 《剑指offer》c++版本 5.替换空格
  10. 线程池框架_Java并发——Executor框架详解(Executor框架结构与框架成员)