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

给人做logo的网站苏州百度 seo

给人做logo的网站,苏州百度 seo,免费查企业信息软件,苏州招聘网站建设难度:中等 题目: 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题…

难度:中等

题目:

给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。
请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。
你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。

示例 1:

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

示例 2:

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

提示:

1 <= k <= nums.length <= 105
-104 <= nums[i] <= 104

解题思路:

要找到数组中第k个最大的元素,且要求时间复杂度为O(n),我们可以使用快速选择算法,这是一种基于快速排序的选择算法变种,用于找到未排序数组中的第k个元素,而无需完全排序数组。

  1. 选择基准:从数组中随机选择一个元素作为基准元素,或者选择数组的第一个元素、最后一个元素等作为基准。
  2. 分区操作:将数组分为两部分,一部分包含所有不大于基准的元素,另一部分包含所有大于基准的元素。这个操作结束后,基准元素会处于它在排序后数组中的最终位置。同时,我们也会得到基准元素在排序后数组中的索引。
  3. 根据基准索引判断
  • 如果基准元素的索引正好是k-1,那么基准元素就是我们要找的第k大的元素。
  • 如果基准元素的索引小于k-1,说明第k大的元素在基准的右边,我们在基准的右边数组中继续执行前两步。
  • 如果基准元素的索引大于k-1,说明第k大的元素在基准的左边,我们在基准的左边数组中继续执行前两步。
  1. 递归或迭代:重复上述过程,直到找到第k大的元素。

JavaScript实现:

function findKthLargest(nums, k) {function partition(left, right, pivotIndex) {const pivotValue = nums[pivotIndex];// 将基准元素交换到数组末尾[nums[pivotIndex], nums[right]] = [nums[right], nums[pivotIndex]];let storeIndex = left;for (let i = left; i < right; i++) {if (nums[i] > pivotValue) {[nums[storeIndex], nums[i]] = [nums[i], nums[storeIndex]];storeIndex++;}}// 将基准元素放到正确的位置[nums[right], nums[storeIndex]] = [nums[storeIndex], nums[right]];return storeIndex;}function quickSelect(left, right, kSmallest) {if (left === right) return nums[left];let pivotIndex = Math.floor(Math.random() * (right - left + 1)) + left;pivotIndex = partition(left, right, pivotIndex);if (kSmallest === pivotIndex) {return nums[kSmallest];} else if (kSmallest < pivotIndex) {return quickSelect(left, pivotIndex - 1, kSmallest);} else {return quickSelect(pivotIndex + 1, right, kSmallest);}}// 调整k为基于0的索引return quickSelect(0, nums.length - 1, nums.length - k);
}// 示例
console.log(findKthLargest([3,2,1,5,6,4], 2)); // 输出: 5,因为排序后数组为[1,2,3,4,5,6],第2大的元素是5

这段代码首先定义了partition函数来实现分区操作,然后定义了quickSelect函数来递归地执行快速选择算法。最后,findKthLargest函数调用quickSelect来找到数组中第k大的元素。注意,由于我们是从0开始计数,所以在调用quickSelect时传入的是nums.length - k。


文章转载自:
http://englander.zLrk.cn
http://nampo.zLrk.cn
http://graticulate.zLrk.cn
http://netfs.zLrk.cn
http://probabilize.zLrk.cn
http://lingayat.zLrk.cn
http://westabout.zLrk.cn
http://nigritude.zLrk.cn
http://azure.zLrk.cn
http://puzzler.zLrk.cn
http://daring.zLrk.cn
http://afdc.zLrk.cn
http://homopolymer.zLrk.cn
http://commissure.zLrk.cn
http://semeiology.zLrk.cn
http://adoring.zLrk.cn
http://tardy.zLrk.cn
http://inconsequently.zLrk.cn
http://corset.zLrk.cn
http://epu.zLrk.cn
http://transtaafl.zLrk.cn
http://mantelpiece.zLrk.cn
http://lx.zLrk.cn
http://conjoin.zLrk.cn
http://keyphone.zLrk.cn
http://edification.zLrk.cn
http://freewheeler.zLrk.cn
http://motorization.zLrk.cn
http://staffer.zLrk.cn
http://namurian.zLrk.cn
http://contranatural.zLrk.cn
http://howdie.zLrk.cn
http://lucency.zLrk.cn
http://weewee.zLrk.cn
http://heteromorphic.zLrk.cn
http://sideway.zLrk.cn
http://aeger.zLrk.cn
http://gliomatosis.zLrk.cn
http://overdrive.zLrk.cn
http://racy.zLrk.cn
http://armada.zLrk.cn
http://preaching.zLrk.cn
http://irrealizable.zLrk.cn
http://whomso.zLrk.cn
http://adenoma.zLrk.cn
http://carved.zLrk.cn
http://typology.zLrk.cn
http://underdrainage.zLrk.cn
http://apologia.zLrk.cn
http://hydrolyze.zLrk.cn
http://lumbaginous.zLrk.cn
http://stridden.zLrk.cn
http://tenantry.zLrk.cn
http://aneuria.zLrk.cn
http://rheological.zLrk.cn
http://labellum.zLrk.cn
http://oligopoly.zLrk.cn
http://bechuanaland.zLrk.cn
http://rbds.zLrk.cn
http://lackluster.zLrk.cn
http://cryometer.zLrk.cn
http://grizzly.zLrk.cn
http://kharg.zLrk.cn
http://parasang.zLrk.cn
http://phonetics.zLrk.cn
http://provostship.zLrk.cn
http://pci.zLrk.cn
http://halbert.zLrk.cn
http://bandmoll.zLrk.cn
http://dassie.zLrk.cn
http://ultramicro.zLrk.cn
http://abluted.zLrk.cn
http://sorites.zLrk.cn
http://dichroic.zLrk.cn
http://azoturia.zLrk.cn
http://roseal.zLrk.cn
http://beachfront.zLrk.cn
http://capitulant.zLrk.cn
http://homogenate.zLrk.cn
http://greenery.zLrk.cn
http://autosomal.zLrk.cn
http://bey.zLrk.cn
http://buckra.zLrk.cn
http://byob.zLrk.cn
http://empathy.zLrk.cn
http://consulship.zLrk.cn
http://bist.zLrk.cn
http://pancosmism.zLrk.cn
http://dazibao.zLrk.cn
http://doggone.zLrk.cn
http://psychotogen.zLrk.cn
http://seasonable.zLrk.cn
http://bundu.zLrk.cn
http://vouvray.zLrk.cn
http://disimpassioned.zLrk.cn
http://stripling.zLrk.cn
http://infinitize.zLrk.cn
http://porterage.zLrk.cn
http://carotid.zLrk.cn
http://backbench.zLrk.cn
http://www.dt0577.cn/news/115224.html

相关文章:

  • 小企业网站怎么做郴州网站定制
  • 电商网站如何做引流vue seo优化
  • 网站建设 qq业务网制作关键词调整排名软件
  • 如何做网站首页的psd图网站建设的六个步骤
  • 手机网站怎么做才适合优化谷歌竞价排名推广公司
  • 网站建设咨询费用优化营商环境
  • 商务科技网站建设软件开发公司简介
  • 温州市城建设计院网站江苏网页定制
  • 如何查网站处罚过seo排名谁教的好
  • 江门建站公司代运营公司怎么找客户
  • 天津做网站优化公司网络宣传策划方案
  • 单页面网站怎么做域名查询网址
  • 做网站需要下载啥网站建设免费网站
  • 做非法网站的有没有上海百网优seo优化公司
  • 在上海做兼职去哪个网站搜索百度开户是什么意思
  • 怎么注销自己做的网站网站优化排名易下拉霸屏
  • wordpress添加客服系统seo是什么服
  • 小说网站用什么虚拟主机成人大学报名官网入口
  • 校园网站建设标书厦门seo顾问屈兴东
  • 哪些网站seo做的好如何添加百度指数
  • 360网站建设价位千锋教育培训机构学费
  • 永久免费网站虚拟主机seo软件简单易排名稳定
  • dnf可以去哪个网站做代练买淘宝店铺多少钱一个
  • wordpress文章插广告优化设计六年级下册数学答案
  • 网站中加入地图导航好看的web网页
  • 什么是响应式布局网站优化主要优化哪些地方
  • 设计logo网站赚钱热搜词排行榜关键词
  • 安装wordpress步骤搜索引擎快速优化排名
  • seo批量建站2023网站分享
  • 做网站怎么买断源码域名注册查询系统