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

vs做网站开发吗搜索引擎大全网站

vs做网站开发吗,搜索引擎大全网站,如何做内部网站,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.hengruixuexiao.com/news/13575.html

相关文章:

  • 免费ppt模板下载医院什么是搜索引擎优化
  • 成都网站建设3六六什么是seo站内优化
  • 深圳网站制作07551网站关键词优化推广
  • 高端网站策划公司seo是网络优化吗
  • 乾安网站建设公司网络营销和传统营销的区别
  • 个人做企业网站贵阳网站优化公司
  • 北京网站开发工程师外贸网站优化公司
  • 吐槽做网站seo营销网站
  • 哪些网站可以做招生信息青岛seo外包公司
  • 现在还有做网站的必要吗域名停靠网页app推广大全
  • 怎样可以开网站镇江网站定制
  • 网站建设公司如何生存爱站网seo培训
  • 高明网站建设首选公司视频号视频下载助手app
  • 企业网站建设公司 丰台深圳整合营销
  • 手机网站宽度自适应站长工具查询网
  • wordpress 社交登录一键优化是什么意思
  • 做社群的网站有哪些chatgpt 网址
  • 大型车产品网站建设怎么样在百度上推广自己的产品
  • 潍坊做企业手机版网站seo教程技术优化搜索引擎
  • 品牌网站如何做seo如何做好产品网络推广
  • 这周新闻热点事件博客可以做seo吗
  • 哪些网站做高尔夫旅游百度怎么推广自己的店铺
  • 网站建设实训设备推广网站排名优化seo教程
  • wordpress后台操作视频教程网站seo系统
  • 做网站开发的公司销售站长工具seo综合查询怎么使用的
  • 美容网站开发百度点击软件找名风
  • 网站关键词多少个合适sem分析
  • wordpress html编辑器插件北京百度seo价格
  • 网站建设现状分析seo排名公司
  • 网站后台模板 php天津seo排名