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

巴顿品牌设计官网外贸网站如何推广优化

巴顿品牌设计官网,外贸网站如何推广优化,广州网站建设定制方案,wordpress 数据图片存在哪里1. 在数组中找第k大元素 题目 LeetCode215:给定整数数组nums和整数k,请返回数组中第k个最大的元素, 思路 解题思路用三个,选择法,堆查找和快速排序。 我们选择用大堆小堆解决问题,“找最大用小堆&#xff…

1. 在数组中找第k大元素

题目

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

思路

解题思路用三个,选择法,堆查找和快速排序。

我们选择用大堆小堆解决问题,“找最大用小堆,找最小用大堆,找中间用两个堆”,我们构造一个大小只有4的小根堆,为了更好的说明情况,我们扩展一下题目序列[3,2,3,1,2,4,5,1,5,6,2,3]。

堆满了之后,只有大于根节点的元素才能入堆,否则就直接抛弃,元素进入堆中,需要调换位置,满足最小堆的结构,如果发现两个子树都小,则应该和最小的元素交换,如果都一样,则随便选一个。

需要注意:堆不满则直接添加;堆满的时候读到大于根节点的元素才将堆顶拿出,放入新读到的数。

代码

我们用的是Javajdk中的PriorityQueue构建最小堆

    /*** 用最小堆在数组中找第k大的元素* @param nums* @param k* @return*/public int findkLargest(int[] nums, int k){if (k > nums.length){return -1;}int len = nums.length;//创建一个含有k个元素的最小堆PriorityQueue<Integer> minHeap = new PriorityQueue<>(k,(a,b) -> (a - b));for (int i = 0; i < k; i++) {minHeap.add(nums[i]);}for (int i = 0; i < len; i++) {Integer topEle = minHeap.peek();//只要比堆顶大的元素,最顶弹出,遍历的元素进去if (nums[i] > topEle){minHeap.poll();minHeap.offer(nums[i]);}}return minHeap.peek();}

http://www.dt0577.cn/news/11759.html

相关文章:

  • 用空间做网站如何做好安全b2b免费推广平台
  • 做网站哪家好哪家好今日热点新闻事件简介
  • 武汉网站建设哪家专业全达seo
  • 行业展示类型网站竞价推广托管公司介绍
  • 创一东莞网站建设免费发布广告信息的网站
  • 微信如何做微商城网站建设seo网站优化详解
  • 用老域名重新做个网站互联网营销推广公司
  • 深圳大型网站建设公司windows优化大师和鲁大师
  • 南京网站建设流程app推广一手单平台
  • wordpress站点图标网站优化方法
  • thinkphp企业网站源码网络广告案例以及分析
  • 做网站需要ps吗手机百度搜索引擎入口
  • 网站开发倒计时论坛推广
  • 电商网站怎么做seo免费网站
  • 网站开发项目策划书关于普通话的手抄报
  • 国内网站放国外服务器上海十大公关公司排名
  • 有哪些装修网站国外b站推广网站
  • 网站建设南昌培训机构好还是学校好
  • 企业网站备案信息北京seo全网营销
  • 怎么免费做网站宣传平台有哪些
  • 猎头公司找的工作怎么样长沙靠谱seo优化费用
  • 花样云做网站怎样网络营销有本科吗
  • 江门建设局网站重庆网站seo公司
  • 唐山做网站那家好百度应用app下载
  • 有没有专门做飞卢小说盗版的网站旺道seo优化软件怎么用
  • 天津做网站推广的公司外贸推广代理
  • 微信做网站的公司晚上免费b站软件
  • 肇庆网站开发哪家专业如何推广品牌
  • 前端做项目的网站花西子网络营销策划方案
  • 青岛seo排名扣费seo视频教程