当前位置: 首页 > news >正文

网站处于建设中会显示什么英文专业的集团网站建设

网站处于建设中会显示什么英文,专业的集团网站建设,阿里邮箱企业版手机版,临泉建设网站LeetCode 215.数组中的第K个最大元素 题目描述 给定一个整数数组 nums 和一个整数 k,请返回数组中第 k 个最大的元素。 请注意,要求排名是从大到小的,因此第 k 个最大元素是排序后的第 k 个元素。你需要设计一个高效的算法来解决这个问题。…

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

题目描述

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

请注意,要求排名是从大到小的,因此第 k 个最大元素是排序后的第 k 个元素。你需要设计一个高效的算法来解决这个问题。

示例 1:

输入:nums = [3,2,1,5,6,4], k = 2
输出:5
解释:数组中第二大的元素是 5

示例 2:

输入:nums = [3,2,3,1,2,4,5,5,6], k = 4
输出:4
解释:数组中第四大的元素是 4

Java 实现代码

class Solution {public int findKthLargest(int[] nums, int k) {// 使用最小堆来找第k大的元素PriorityQueue<Integer> minHeap = new PriorityQueue<>(k);for (int num : nums) {minHeap.offer(num);if (minHeap.size() > k) {minHeap.poll(); // 维护堆的大小为k,去除堆中最小的元素}}return minHeap.peek(); // 最小堆的根就是第k大的元素}
}

解题思路

  1. 最小堆方法: 我们可以利用最小堆(PriorityQueue)来实现。堆是一个完全二叉树,可以在 O(logn) 时间内进行插入和删除操作。

    • 将数组中的前 k 个元素插入到最小堆中。
    • 如果当前堆中元素个数大于k,则吐出。
    • 最后,堆顶的元素就是第 k 大的元素。

    这种方法的时间复杂度是 O(n log k),其中 n 是数组的大小,k 是需要找到的第 k 大元素。

  2. 快速选择法: 另一种方法是使用快速排序的思想,即快速选择(Quickselect)。通过对数组进行划分,选择性地进入有可能包含第 k
    大元素的子数组。这个方法的平均时间复杂度是 O(n)

复杂度分析

  • 时间复杂度: 使用最小堆方法时,插入一个元素的时间复杂度是 O(log k),所以对于数组中 n 个元素,总的时间复杂度是 O(n log k)
  • 空间复杂度: O(k),因为堆中最多存储 k 个元素。

举例说明执行过程

假设有数组 nums = [3,2,1,5,6,4],我们要求第 2 大的元素。

  1. 初始数组:[3,2,1,5,6,4]k = 2
  2. 创建一个大小为 2 的最小堆:
    • 插入 3,堆为 [3]
    • 插入 2,堆为 [2, 3](因为堆是最小堆,所以自动调整)
    • 插入 1,堆为 [1, 3](删除最小元素 2
    • 插入 5,堆为 [3, 5](删除最小元素 1
    • 插入 6,堆为 [5, 6](删除最小元素 3
    • 插入 4,堆为 [5, 6](删除最小元素 4
  3. 最终堆中元素为 [5, 6],堆顶为 5,即第 2 大元素。
http://www.yayakq.cn/news/305020/

相关文章:

  • 网站静态化怎么做网站建设需用要什么
  • 网站建设价格规范网站建设质量如何衡量
  • 建立网站的教学书籍网站建设seo方案
  • 官网百度seo怎么发布外链
  • 电商网站建设参考文献做网站排名费用多少
  • 华强北 网站建设番禺网站建设gzhchl
  • 如何做阿语垂直网站深圳代理记账多少钱一月
  • 中国室内设计装饰协会网站排名优化在线培训
  • 网站中嵌入地图网站视频你懂我意思吧app
  • 招标网站都有哪些食品网站建设案例
  • 免费无版权图片素材网站杭州商城型网站建设
  • 深圳网站快速排名优化seo是一种利用搜索引擎的
  • 照片书那个网站做的好百度百科创建入口
  • 峨边网站建设个人注册登录入口
  • 公司做网站的费用属于什么费用陕西 做网站的公司
  • 营销公司网站模板下载网站怎么做图片放映效果
  • 网站实名制认证备案网站被加黑链
  • 电子商务网站建设是什么拖拽网站
  • 叙述网站的建设意义所在工商信息查询
  • 常用的网站开发语言有哪些wordpress压缩
  • 网站建设合同报价单 模板下载兰州最新情况
  • 湖南网站建设哪家好网站建设 博采网络 学校
  • 完备的常州网站推广麻栗坡做网站
  • DW个人网站怎么做陕西有没有做网站普查公司
  • 微网站 尺寸360做的网站首页
  • 内部购物券网站怎么做深圳专业做网站服务
  • 学校门户网站建设费用江苏省城乡建设厅建设网站
  • 海尔电子商务网站建设预算产品图册设计公司
  • 网站建设禁止性规定广安市国土资源局网站建设
  • 白云做网站的公多商户商城系统源码