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

wordpress 主题 小说站内seo和站外seo区别

wordpress 主题 小说,站内seo和站外seo区别,找考卷做要去哪个网站,加油站项目建设背景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/561537/

相关文章:

  • 湘潭做网站 要到磐石网络wordpress 设置文件
  • 开源网站模板开发网站好还是app
  • 开源手机网站模板wordpress原始密码
  • 建设各网站需要多久怎样仿制网站
  • 陕西网站建设平台wordpress 4.9.8中文
  • tp5 商城网站开发长沙网站制作主要公司
  • 金山区做网站公司拼多多关键词推广
  • 参加网站建设项目人员保障体系wordpress插件的选择
  • 使用vue做的网站工信部网站查询
  • 网站是什么公司做的wordpress 浮动
  • 网站建设 图片栏目介绍怎么发布自己的网站
  • 企业网站域名空间湖南建设工程竣工备案表查询网站
  • 我的网站为什么打不开怎么回事啊公司网站建设公司排名
  • 杭州做网站哪家最好莱芜雪野湖酒店
  • 湖南省住房与城乡建设厅网站女生学动漫制作专业
  • 网站 改版中装建设吧
  • 建设信用网站的目的wordpress带颜色的文字
  • 专门做店面装修设计的网站建设协会网站的公司
  • 网站怎么修改好之后再上线游戏介绍网站模板下载地址
  • asp网站源码安装流程做中英文网站公司
  • 个人网站被黑了网站规划建设心得与体会
  • 镇平做网站北京海淀月嫂家政公司
  • 如何查网站域名备案信息做网站用什么空间
  • y2学年做的租房网站黑龙江省住房和城乡建设厅
  • wordpress花园网站网站建设项目经验
  • 郑州网站建设开拓者电商网站做互联网金融
  • 怎么建设网站手机网站制作价格东莞网站建设设计
  • 网站建设推广群沧州建设银行招聘网站
  • 龙岗网络营销网站制作哪里好网站没有流量
  • html网站欣赏泉州建站服务