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

服装网页设计模板图片厦门seo报价

服装网页设计模板图片,厦门seo报价,wordpress站内搜索次数,wordpress如何转成app为了找到数组中第K个最大的元素,我们可以使用堆排序的方法。堆排序的核心是构建一个最大堆,并通过多次交换堆顶元素来找到前K个最大的元素。具体步骤如下: 方法思路 构建最大堆:将输入数组转换为最大堆,使得每个父节…

为了找到数组中第K个最大的元素,我们可以使用堆排序的方法。堆排序的核心是构建一个最大堆,并通过多次交换堆顶元素来找到前K个最大的元素。具体步骤如下:

方法思路

构建最大堆:将输入数组转换为最大堆,使得每个父节点的值大于其子节点的值。
交换并调整堆:执行K次交换操作,每次将堆顶元素(当前最大值)与当前堆的末尾元素交换,然后调整剩下的元素以维持最大堆的性质。
获取结果:经过K次交换后,第K个最大的元素会位于数组的倒数第K个位置。

解决代码

class Solution {class Heap{int size;int[] nums;public Heap(int[] nums){this.nums = nums;this.size = nums.length;heapify();}public void heapify(){//弗洛伊德堆化算法int nonLeafIndex = size/2 - 1;for(int i = nonLeafIndex; i>=0; i--){down(i);}}public void down(int parent){int left = 2*parent+1,right = left+1,max=parent;//比较左子结点和右子结点if(left<size&&nums[left]>nums[max]){max = left;}if(right < size&&nums[right] > nums[max]){max = right;}if(max!=parent){swap(nums,max,parent);down(max);}}public int poll(){int polled = nums[0];swap(nums, 0, size-1);size--;down(0); //调整堆结构return polled;}public void swap(int[] nums, int i, int j){int temp = nums[i];nums[i] = nums[j];nums[j] = temp;}}public int findKthLargest(int[] nums, int k) {Heap heap = new Heap(nums);//k=2while(k-- > 1){heap.poll();}return heap.poll();}
}

该方法的时间复杂度为O(n + k log n),其中构建堆的时间为O(n),每次调整堆的时间为O(log n),共进行k次调整。空间复杂度为O(1),因为所有操作都在原数组上进行。

http://www.dtcms.com/wzjs/147148.html

相关文章:

  • 网站建设属于哪个经营范围优化师培训
  • 公司网站域名是什么意思友链之家
  • 建设特效网站产品宣传推广策划
  • 找人代做网站费用如何推广外贸型网站
  • 门户网站建设投资抖音seo软件
  • 日语论文参考文献网站网络营销是什么
  • 做传单网站关于进一步优化
  • 网站视频插件出词
  • 网站建设推广语百度霸屏推广
  • 免费设计的网站十大免费b2b网站
  • 怎么在网站上加qq手机建站平台
  • 做雨棚的网站推广运营
  • 做早餐煲汤网站网站开发
  • 网站建设项目意义海外seo推广公司
  • 网站站群建设深圳全网推广
  • ps做图下载网站有哪些宁波网站推广优化公司电话
  • 营销型企业网站建设方案沈阳关键词优化价格
  • 如何建设网站的能力如何开网站详细步骤
  • 北京市网站建设sem推广计划
  • 网站一般宽度网站推广怎么做有效果
  • 怎么模板建站旅游网站的网页设计
  • 六盘水市网站建设引流推广犯法吗
  • 网站建设课程基础谷歌浏览器网页版入口手机版
  • 上海今天新闻头条新闻seo日常优化内容是什么
  • 阿里巴巴国际站官网首页优化关键词的方法
  • 天津市中小企业局网站西安网站建设哪家好
  • jsp网站开发技术的开发百度宁波营销中心
  • 新手建设html5网站seo优化是怎么优化的
  • 卓讯企业名录搜索软件免费seo入门版
  • 怎么在外国网站上找产品做跨境电商杭州网络排名优化