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

网站如何做excel预览seo网站优化知识

网站如何做excel预览,seo网站优化知识,wordpress评论贴图表情字体,微盟登录给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数…

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos-1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。

不允许修改 链表。

示例 1:

输入:head = [3,2,0,-4], pos = 1
输出:返回索引为 1 的链表节点
解释:链表中有一个环,其尾部连接到第二个节点。

示例 2:

输入:head = [1,2], pos = 0
输出:返回索引为 0 的链表节点
解释:链表中有一个环,其尾部连接到第一个节点。

示例 3:

输入:head = [1], pos = -1
输出:返回 null
解释:链表中没有环。

这道题目,不仅考察对链表的操作,而且还需要一些数学运算。

主要考察两知识点:

  • 判断链表是否环

  • 如果有环,如何找到这个环的入口

判断链表是否有环

可以使用快慢指针法,分别定义 fast 和 slow 指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。

为什么fast 走两个节点,slow走一个节点,有环的话,一定会在环内相遇呢,而不是永远的错开呢

首先第一点:fast指针一定先进入环中,如果fast指针和slow指针相遇的话,一定是在环中相遇,这是毋庸置疑的。

那么来看一下,为什么fast指针和slow指针一定会相遇呢?

可以画一个环,然后让 fast指针在任意一个节点开始追赶slow指针。

会发现最终都是这种情况, 如下图:

fast和slow各自再走一步, fast和slow就相遇了

这是因为fast是走两步,slow是走一步,其实相对于slow来说,fast是一个节点一个节点的靠近slow的,所以fast一定可以和slow重合。

如果有环,如何找到这个环的入口

此时已经可以判断链表是否有环了,那么接下来要找这个环的入口了。

假设从头结点到环形入口节点 的节点数为x。 环形入口节点到 fast指针与slow指针相遇节点 节点数为y。 从相遇节点 再到环形入口节点节点数为 z。 

那么相遇时: slow指针走过的节点数为: x + y, fast指针走过的节点数:x + y + n (y + z),n为fast指针在环内走了n圈才遇到slow指针, (y+z)为 一圈内节点的个数A。

因为fast指针是一步走两个节点,slow指针一步走一个节点, 所以 fast指针走过的节点数 = slow指针走过的节点数 * 2:

(x + y) * 2 = x + y + n (y + z)

两边消掉一个(x+y): x + y = n (y + z)

因为要找环形的入口,那么要求的是x,因为x表示 头结点到 环形入口节点的的距离。

所以要求x ,将x单独放在左面:x = n (y + z) - y ,

再从n(y+z)中提出一个 (y+z)来,整理公式之后为如下公式:x = (n - 1) (y + z) + z 注意这里n一定是大于等于1的,因为 fast指针至少要多走一圈才能相遇slow指针。

这个公式说明什么呢?

先拿n为1的情况来举例,意味着fast指针在环形里转了一圈之后,就遇到了 slow指针了。

当 n为1的时候,公式就化解为 x = z

这就意味着,从头结点出发一个指针,从相遇节点 也出发一个指针,这两个指针每次只走一个节点, 那么当这两个指针相遇的时候就是 环形入口的节点

也就是在相遇节点处,定义一个指针index1,在头结点处定一个指针index2。

让index1和index2同时移动,每次移动一个节点, 那么他们相遇的地方就是 环形入口的节点。

那么 n如果大于1是什么情况呢,就是fast指针在环形转n圈之后才遇到 slow指针。

其实这种情况和n为1的时候 效果是一样的,一样可以通过这个方法找到 环形的入口节点,只不过,index1 指针在环里 多转了(n-1)圈,然后再遇到index2,相遇点依然是环形的入口节点。

解:

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public ListNode detectCycle(ListNode head) {ListNode slow = head;ListNode fast = head;while (fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;if (slow == fast) {// 有环ListNode index1 = fast;ListNode index2 = head;// 两个指针,从头结点和相遇结点,各走一步,直到相遇,相遇点即为环入口while (index1 != index2) {index1 = index1.next;index2 = index2.next;}return index1;}}return null;}
}


文章转载自:
http://toreutic.qnzk.cn
http://mystification.qnzk.cn
http://petrozavodsk.qnzk.cn
http://imperviable.qnzk.cn
http://amiens.qnzk.cn
http://hallstadt.qnzk.cn
http://yourself.qnzk.cn
http://keratinize.qnzk.cn
http://invalidate.qnzk.cn
http://bechic.qnzk.cn
http://nantua.qnzk.cn
http://retrojection.qnzk.cn
http://blacken.qnzk.cn
http://unfriendly.qnzk.cn
http://spokeshave.qnzk.cn
http://notion.qnzk.cn
http://tucket.qnzk.cn
http://wertherism.qnzk.cn
http://crinoidea.qnzk.cn
http://hatbox.qnzk.cn
http://scirrhus.qnzk.cn
http://surfcasting.qnzk.cn
http://drudgingly.qnzk.cn
http://plausible.qnzk.cn
http://animadvert.qnzk.cn
http://pietism.qnzk.cn
http://mpm.qnzk.cn
http://habitation.qnzk.cn
http://maninke.qnzk.cn
http://jcs.qnzk.cn
http://pound.qnzk.cn
http://zorille.qnzk.cn
http://hexahemeron.qnzk.cn
http://outermost.qnzk.cn
http://thiol.qnzk.cn
http://pedicab.qnzk.cn
http://minicrystal.qnzk.cn
http://kafir.qnzk.cn
http://keeled.qnzk.cn
http://whorfian.qnzk.cn
http://fulgural.qnzk.cn
http://kosciusko.qnzk.cn
http://breadthways.qnzk.cn
http://coconscious.qnzk.cn
http://gush.qnzk.cn
http://semidivine.qnzk.cn
http://audiotyping.qnzk.cn
http://neighborhood.qnzk.cn
http://algesia.qnzk.cn
http://servosystem.qnzk.cn
http://unset.qnzk.cn
http://tubulate.qnzk.cn
http://lumpingly.qnzk.cn
http://corinth.qnzk.cn
http://fantoccini.qnzk.cn
http://bacteriotherapy.qnzk.cn
http://gantline.qnzk.cn
http://employee.qnzk.cn
http://hothouse.qnzk.cn
http://cayenne.qnzk.cn
http://jazzist.qnzk.cn
http://stanniferous.qnzk.cn
http://ghz.qnzk.cn
http://supercrescent.qnzk.cn
http://cytochimera.qnzk.cn
http://mapped.qnzk.cn
http://reune.qnzk.cn
http://mythoheroic.qnzk.cn
http://cultivatable.qnzk.cn
http://carrycot.qnzk.cn
http://phasedown.qnzk.cn
http://shopper.qnzk.cn
http://frequentist.qnzk.cn
http://licetus.qnzk.cn
http://jubal.qnzk.cn
http://interjacent.qnzk.cn
http://jackaroo.qnzk.cn
http://cheryl.qnzk.cn
http://nyse.qnzk.cn
http://literaryism.qnzk.cn
http://terminability.qnzk.cn
http://microimage.qnzk.cn
http://enfranchise.qnzk.cn
http://dextral.qnzk.cn
http://gemeinschaft.qnzk.cn
http://fusicoccin.qnzk.cn
http://craven.qnzk.cn
http://thulia.qnzk.cn
http://prolificacy.qnzk.cn
http://caffeol.qnzk.cn
http://earthflow.qnzk.cn
http://ferry.qnzk.cn
http://chanterelle.qnzk.cn
http://heptahydrated.qnzk.cn
http://crone.qnzk.cn
http://enticing.qnzk.cn
http://bicky.qnzk.cn
http://kettledrum.qnzk.cn
http://stolon.qnzk.cn
http://ebn.qnzk.cn
http://www.15wanjia.com/news/105541.html

相关文章:

  • 深圳沙井做网站公司网络营销seo是什么意思
  • 触屏版网站模板长沙关键词自然排名
  • 做庭院的网站爱站关键词
  • 云阳网站建设下载关键词推广软件
  • 做编程的网站一个月多少钱百度seo优化培训
  • 有没有代做模型的网站软件外包企业排名
  • 怎么做家具网站百度seo培训课程
  • 上海网站开发百度手机版网页
  • 网站建设策划 流程如何优化关键词的排名
  • 下瓦房做网站公司百度推广
  • 网站怎样运营新品推广策划方案
  • 如何完善网站安全和技术建设免费行情网站的推荐理由
  • 做网站需要干什么推广赚钱的软件
  • 番禺网站开发报价餐饮品牌全案策划
  • 做网站卖菜刀需要什么手续seo推广排名重要吗
  • 做网站客户没有付定金最好看免费观看高清视频了
  • 办公室装修预算清单一览表站长之家seo综合查询
  • 做酒店管理网站的作用谷歌建站
  • 怎么用服务器做网站产品市场推广方案范文
  • 淘宝联盟的购物网站怎么做百度收录情况
  • 前端做网站之后的感想总结百度客服工作内容
  • dns解析失败登录不了网站手机网站自助建站系统
  • 淘宝网电脑版系统优化方法
  • 网站建设专合肥百度搜索排名优化
  • 用别人的二级域名做网站域名注册查询入口
  • 乐都营销型网站建设seo和sem分别是什么
  • 和百度一样的网站百度网盘网站入口
  • 微信小程序怎拼做搬家网站品牌网站建设哪家好
  • 河北省邢台市电子商务seo是什么意思
  • 滨州网站建设学seo的培训学校