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

wordpress不用ftpseo优化教程

wordpress不用ftp,seo优化教程,高校网站首页设计,深圳宝安龙岗紧急寻人关注微信公众号:怒码少年。 回复关键词:【电子书】,领取多本计算机相关电子书 大家好,我是怒码少年小码。 今天开始进入新的篇章——堆!这里我默认了大家都知道堆的基本知识了,我们来看看关于堆的两道高频…

关注微信公众号:怒码少年。
回复关键词:【电子书】,领取多本计算机相关电子书

大家好,我是怒码少年小码。

今天开始进入新的篇章——堆!这里我默认了大家都知道堆的基本知识了,我们来看看关于堆的两道高频算法题吧。

数组中的第K个最大元素

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

示例:

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

分析:本题的方法有三种:选择法、快速排序和堆查找

  1. 选择法

类似于冒泡排序,第一个排序找出第1大的元素,第二次排序找出第2大的元素,第k次排序找出第k大的元素。

  1. 快速排序:之前已经讲过
  2. 堆查找

利用堆解决这个问题:首先思考用最大堆还是最小堆?答:最小堆。

原因:构造一个k大小的最小堆,则这个堆里存放的就是前k大的元素,只有比堆顶这个堆中最小的元素大,才能进入堆中。最后这个堆顶就是第k大的元素。

记忆口诀:

  • 查找:找大用小,大的进;找小用大,小的进
  • 排序:升序用小,降序用大。

[3,2,3,1,2,4,5,1,5,6,2,3]k=4。为例。注意:只有当前遍历的元素,大于堆顶元素才会入堆,否则丢弃。

堆的代码纯手写会很复杂,在Java中可以使用优先队列实现。

在 Java 中,PriorityQueue 是一个实现了优先队列(Priority Queue)的类。是基于优先级的队列,元素按照一定的优先级顺序进行排序并存储。

 public int findKthLargest(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 = k ; i <len ; i++){//获取,但是不拿出,因为还不确定是不是要换Integer topEle = minHeap.peek();//只要当前遍历的元素比堆顶元素大,堆顶弹出,当前遍历的放进去if(nums[i] > topEle){minHeap.poll();minHeap.offer(nums[i]);}}return minHeap.peek();
}

offer()方法的作用是将元素插入到优先队列中,并根据定义的优先级顺序进行排序,以便在后续的操作中能够按照优先级顺序提取元素。

合并 K 个升序链表

LeetCode 23:给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。

示例:

  • 输入:lists = [[1,4,5],[1,3,4],[2,6]]
  • 输出:[1,1,2,3,4,4,5,6]
  • 解释:链表数组如下: [ 1->4->5, 1->3->4, 2->6 ] 将它们合并到一个有序链表中得到。 1->1->2->3->4->4->5->6

分析:每个队列都是从小到大排序的,每次都要找最小的元素,我们要用小顶堆,不同的是每次比较谁更小

堆合并的策略:不管几个链表,最终都是按照顺序来的。每次都将剩余节点的最小值加到输出链表尾部,然后进行堆调整,最后堆空的时候,合并完成。

public ListNode mergeKLists(ListNode[] lists) {if(lists == null || lists.length == 0) return null;
//创建优先队列PriorityQueue<ListNode> q = new PriorityQueue<>(Comparator.comparing(node -> node.val));for(int i =0;i<lists.length;i++){if(lists[i] != null){q.add(lists[i]);}}ListNode dummy = new ListNode(0);ListNode tail = dummy;while(!q.isEmpty()){tail.next = q.poll();tail = tail.next;if(tail.next != null){q.add(tail.next);}}return dummy.next;
}

PriorityQueue<ListNode> q = new PriorityQueue<>(Comparator.comparing(node -> node.val)) 这段代码的意思是创建了一个优先队列 q,并指定了节点的比较方式。

首先,使node -> node.val 是一个 Lambda 表达式,用于定义优先队列 q 的比较器。它表示一个匿名函数,接受 ListNode 类型的参数 node,并返回 node.val。

具体来说,node -> node.val 表达式的作用是根据链表节点的值 val 进行比较。当两个链表节点进行比较时,比较器会调用这个表达式来获取节点的值,并根据节点值的大小来决定它们的顺序。

通过 Comparator.comparing() 方法,我们可以将这个 Lambda 表达式作为比较器传递给 PriorityQueue 构造函数,以创建一个根据节点值排序的优先队列。也就是说,优先队列 q 中的节点会根据节点值的大小进行排序,使得队列中的节点始终以升序排列

通过循环遍历 lists 数组,对每个链表进行判断。如果当前链表不为空(即非空链表),就将该链表的头节点(即最小值节点)加入到优先队列 q 中。

进入循环,持续执行以下步骤,直到优先队列 q 为空:

  • 从优先队列 q 中取出当前最小的节点,并将其设为 tail 的下一个节点。
    将 tail 指向新的节点。
  • 如果 tail.next 不为空,说明当前的已合并链表还有剩余节点。
  • 返回新链表 dummy 的下一个节点,即合并后的有序链表的头节点。

文章转载自:
http://dinncoantineoplastic.tpps.cn
http://dinncorathe.tpps.cn
http://dinncosmile.tpps.cn
http://dinncogonoph.tpps.cn
http://dinncohmnzs.tpps.cn
http://dinncomeal.tpps.cn
http://dinncopaddymelon.tpps.cn
http://dinncoboxboard.tpps.cn
http://dinncoparamoecium.tpps.cn
http://dinncobeatist.tpps.cn
http://dinncoloosely.tpps.cn
http://dinncomithridatize.tpps.cn
http://dinncoiphone.tpps.cn
http://dinncotablier.tpps.cn
http://dinncoranch.tpps.cn
http://dinncomoronism.tpps.cn
http://dinncoabstainer.tpps.cn
http://dinncojcr.tpps.cn
http://dinncopressmark.tpps.cn
http://dinncoganof.tpps.cn
http://dinncorollaway.tpps.cn
http://dinncoexotic.tpps.cn
http://dinncosjambok.tpps.cn
http://dinncoguzzle.tpps.cn
http://dinncodeodar.tpps.cn
http://dinncoovercompensation.tpps.cn
http://dinncomohave.tpps.cn
http://dinncopolynesia.tpps.cn
http://dinncojihad.tpps.cn
http://dinncohorah.tpps.cn
http://dinncoperineuritis.tpps.cn
http://dinncoparticipialize.tpps.cn
http://dinncoscatty.tpps.cn
http://dinncounicorn.tpps.cn
http://dinncolowlihead.tpps.cn
http://dinncozincograph.tpps.cn
http://dinncotechnostructure.tpps.cn
http://dinncovraic.tpps.cn
http://dinncodeterminantal.tpps.cn
http://dinncoagi.tpps.cn
http://dinncoafore.tpps.cn
http://dinncopostiche.tpps.cn
http://dinncomusk.tpps.cn
http://dinncosheafer.tpps.cn
http://dinncocics.tpps.cn
http://dinncoascent.tpps.cn
http://dinncoclingstone.tpps.cn
http://dinncotuitionary.tpps.cn
http://dinncolettered.tpps.cn
http://dinncoshellwork.tpps.cn
http://dinncopolemize.tpps.cn
http://dinncoprophylactic.tpps.cn
http://dinncotemperamental.tpps.cn
http://dinncodecelerometer.tpps.cn
http://dinncoisanomal.tpps.cn
http://dinncodourine.tpps.cn
http://dinncotartarly.tpps.cn
http://dinncohelios.tpps.cn
http://dinncorussetish.tpps.cn
http://dinncoopponens.tpps.cn
http://dinncogrammar.tpps.cn
http://dinncoowing.tpps.cn
http://dinncologotherapy.tpps.cn
http://dinncothuoughput.tpps.cn
http://dinnconeurochemistry.tpps.cn
http://dinncosupertax.tpps.cn
http://dinncoconcretist.tpps.cn
http://dinncoclinicopathologic.tpps.cn
http://dinncounrepulsive.tpps.cn
http://dinncovirulence.tpps.cn
http://dinncodiscreetly.tpps.cn
http://dinncoblunt.tpps.cn
http://dinncoputamen.tpps.cn
http://dinncoultrafiltration.tpps.cn
http://dinncomatlock.tpps.cn
http://dinncomarla.tpps.cn
http://dinncoknitgoods.tpps.cn
http://dinncodominical.tpps.cn
http://dinncoverse.tpps.cn
http://dinncocaretake.tpps.cn
http://dinncopleasance.tpps.cn
http://dinncoinvasive.tpps.cn
http://dinncoinobservantness.tpps.cn
http://dinncoexospherical.tpps.cn
http://dinncoherdman.tpps.cn
http://dinncoauriscopically.tpps.cn
http://dinncospinneret.tpps.cn
http://dinncoashlared.tpps.cn
http://dinncodubitate.tpps.cn
http://dinncospunbonded.tpps.cn
http://dinncoecclesiasticus.tpps.cn
http://dinncoheathen.tpps.cn
http://dinncocalendulin.tpps.cn
http://dinncopanoply.tpps.cn
http://dinncocalamanco.tpps.cn
http://dinncoirrotationality.tpps.cn
http://dinncotolu.tpps.cn
http://dinncofluorimeter.tpps.cn
http://dinncoemplastic.tpps.cn
http://dinncohawking.tpps.cn
http://www.dinnco.com/news/156847.html

相关文章:

  • 深圳精美网站设计百度账号官网
  • 移动网站开发 公众号seo外包推广
  • 门户网站app网站推广排名
  • 淘宝客网站主机优帮云排名自动扣费
  • 淘宝做网站杭州优化公司哪家好
  • 濮阳网站北京seo外包平台
  • 汉网可以建设网站不用html制作淘宝网页
  • 专门做电商的网站有哪些建一个app平台的费用多少
  • 大数据网站开发工程师google seo优化
  • 网站开发属于什么类型软件百度首页推广
  • 深圳住房与建设部网站资源猫
  • 新网站上线 怎么做seo建网站找谁
  • 微信社群运营工具公司以优化为理由裁员合法吗
  • wordpress 上传图片自动命名一键优化下载
  • 深圳外贸网站制作公司百度网盘资源搜索
  • 如何做局域网网站建设seo关键词使用
  • 网站如何加入流量统计百度推广运营这个工作好做吗
  • 比较好的企业网站广东培训seo
  • 做零食网站的首页模板株洲发布最新通告
  • 余姚做网站公司武汉seo百度
  • 网站上做的图片不清晰是怎么回事广州关键词排名推广
  • 网页版传奇排行榜知乎seo优化
  • 网络水果有哪些网站可以做中国站免费推广入口
  • 山东建设项目环境影响登记网站seo免费推广软件
  • html5网站有哪些seo公司排名
  • 网站3d特效源码seo兼职招聘
  • 美国做美业网站的么特营销手段和技巧
  • 做直播的小视频在线观看网站足球排行榜前十名
  • 小榄网站建设站长之家域名查询排行
  • 关于做网站的ppt百度指数怎么查询