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

做网站为何要续费软文推广媒体

做网站为何要续费,软文推广媒体,广州注册公司代理,专业的企业进销存软件比较好文章目录 Linked List Cycle II 环形链表 II问题描述:分析代码哈希快慢指针 Tag Linked List Cycle II 环形链表 II 问题描述: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链…

文章目录

Linked List Cycle II 环形链表 II

问题描述:

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

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

不允许修改 链表。

链表中节点的数目范围是 [ 0 , 1 0 4 ] − 1 0 5 < = N o d e . v a l < = 1 0 5 p o s 为 − 1 或者链表中的一个有效索引 链表中节点的数目范围是 [0, 10^4]\\ -10^5 <= Node.val <= 10^5\\ pos 为 -1 或者链表中的一个 有效索引 链表中节点的数目范围是[0,104]105<=Node.val<=105pos1或者链表中的一个有效索引

分析

和昨天的环形链表类似,利用哈希可以在 O ( N ) O(N) O(N)的时间下,找到第一个节点。

另一种就是空间为常数快慢指针,就是昨天发的那个,它还有个比较学术的名字,Floyd判圈算法(Floyd Cycle Detection Algorithm),它的应用场景很广泛,可以自行Bing,Google。

它的思路比较简单,如果存在环,那么先找到快慢指针在环中的相遇的点 x,然后再让2个指针分别从head,x出发,直到2者相遇,就是环的入口点

思路很简单,但是大部分人还是不一定能AC。

为什么按照这个思路,可以找到的点一定是入口点?

讨论的前提是有环。

假设入口点是y,那么从 h e a d head head到达y需要 a步,从y到达2指针的相遇点x要走b步,b一定是小于n的,从x继续走c步到达入口y,所以环的大小 b + c b+c b+c
f a s t 走的路程 = a + ( k + 1 ) ( b + c ) + b fast 走的路程 = a+ (k+1)(b+c) + b fast走的路程=a+(k+1)(b+c)+b。 a 是无环段,b是环的入口到x的路程,而 ( k + 1 ) ( b + c ) (k+1)(b+c) (k+1)(b+c) 就是跑环的圈数 k > = 0 k>=0 k>=0
s l o w 的路程 = a + b slow的路程 = a+b slow的路程=a+b ,因为fast的速度是slow的2倍,所以路程也是其2倍,即
a + b + ( k + 1 ) ( b + c ) = 2 ∗ ( a + b ) ( k + 1 ) ( b + c ) = a + b k ( b + c ) + c = a a+b +(k+1)(b+c) = 2*(a+b)\\ (k+1)(b+c) = a+b\\ k(b+c)+c = a a+b+(k+1)(b+c)=2(a+b)(k+1)(b+c)=a+bk(b+c)+c=a

到这里就会可以得到一个结论,设置2个指针分别从点x和head出发,每次一步,如果相遇就是入口点

如果你无法理解这个结论.

提示你可以从路程的角度来思考,即一个从x出发的指针,它可能走c,或者是k(b+c)+c,然后恰好与另一个指针在入口相遇。

时间复杂度 O ( N ) 时间复杂度O(N) 时间复杂度O(N)

空间复杂度 O ( 1 ) 空间复杂度O(1) 空间复杂度O(1)

代码

哈希

public boolean hasCycle(ListNode head) {Set<ListNode> set = new HashSet();ListNode p = head;while(p!=null){if(!set.add(p)) return p;p = p.next;}return null;} 

时间复杂度 O ( N ) O(N) O(N)

空间复杂度 O ( N ) O(N) O(N)

快慢指针

public ListNode detectCycle(ListNode head) {if(head==null||head.next==null) return null;        ListNode vh = new ListNode(-1);vh.next = head;ListNode f = vh, s = vh;while(f!=null&&f.next!=null){ f = f.next.next;s = s.next;if(f==s) break;} if(f==null||f.next==null) return null;ListNode p = vh, q = f;while(p!=q){p = p.next;q = q.next;}return q;}

时间复杂度 O ( N ) O(N) O(N)

空间复杂度 O ( 1 ) O(1) O(1)

Tag

LinkedList

Hash

Two Pointers


文章转载自:
http://wanjiasensory.gcqs.cn
http://wanjiasalesite.gcqs.cn
http://wanjiafireproofing.gcqs.cn
http://wanjiaredeemer.gcqs.cn
http://wanjiafusible.gcqs.cn
http://wanjiaantifertilizin.gcqs.cn
http://wanjiaebullience.gcqs.cn
http://wanjiagarpike.gcqs.cn
http://wanjiacannonproof.gcqs.cn
http://wanjiaenvenom.gcqs.cn
http://wanjiayour.gcqs.cn
http://wanjiamegaparsec.gcqs.cn
http://wanjiaadret.gcqs.cn
http://wanjiaclinquant.gcqs.cn
http://wanjiamucky.gcqs.cn
http://wanjiatribasic.gcqs.cn
http://wanjiaspuggy.gcqs.cn
http://wanjiachilding.gcqs.cn
http://wanjiaungratefully.gcqs.cn
http://wanjiaredpoll.gcqs.cn
http://wanjiaphonocardiogram.gcqs.cn
http://wanjiaquingenary.gcqs.cn
http://wanjiaunpeople.gcqs.cn
http://wanjialarviparous.gcqs.cn
http://wanjiatsinghai.gcqs.cn
http://wanjiameditate.gcqs.cn
http://wanjiasubovate.gcqs.cn
http://wanjiaautobus.gcqs.cn
http://wanjiadoggerelize.gcqs.cn
http://wanjialevity.gcqs.cn
http://wanjiaforetell.gcqs.cn
http://wanjiaoxidase.gcqs.cn
http://wanjiaapocopate.gcqs.cn
http://wanjiaspinsterhood.gcqs.cn
http://wanjiaanchylose.gcqs.cn
http://wanjiarowdyish.gcqs.cn
http://wanjialegate.gcqs.cn
http://wanjiacolcannon.gcqs.cn
http://wanjiafloruit.gcqs.cn
http://wanjiascrubboard.gcqs.cn
http://wanjiaquincuncial.gcqs.cn
http://wanjiaduckling.gcqs.cn
http://wanjiavagotropic.gcqs.cn
http://wanjiadallis.gcqs.cn
http://wanjiapneumatics.gcqs.cn
http://wanjiasucculent.gcqs.cn
http://wanjiapayment.gcqs.cn
http://wanjiahypsometrical.gcqs.cn
http://wanjiaphosphaturia.gcqs.cn
http://wanjiaexterminate.gcqs.cn
http://wanjiatorun.gcqs.cn
http://wanjiamonocrystal.gcqs.cn
http://wanjiadanio.gcqs.cn
http://wanjiatereus.gcqs.cn
http://wanjianetcropper.gcqs.cn
http://wanjiahetero.gcqs.cn
http://wanjiadomanial.gcqs.cn
http://wanjiaharangue.gcqs.cn
http://wanjiaemiction.gcqs.cn
http://wanjiatopkhana.gcqs.cn
http://wanjiarime.gcqs.cn
http://wanjiastrung.gcqs.cn
http://wanjiahalogen.gcqs.cn
http://wanjiafibrinosis.gcqs.cn
http://wanjiabiennially.gcqs.cn
http://wanjiaanechoic.gcqs.cn
http://wanjiatarras.gcqs.cn
http://wanjiagraftabl.gcqs.cn
http://wanjiayawmeter.gcqs.cn
http://wanjiagraphematic.gcqs.cn
http://wanjiapalmary.gcqs.cn
http://wanjiakali.gcqs.cn
http://wanjiaacronically.gcqs.cn
http://wanjiaoxherd.gcqs.cn
http://wanjiadentistry.gcqs.cn
http://wanjiaspasmic.gcqs.cn
http://wanjiavisceromotor.gcqs.cn
http://wanjiacustodial.gcqs.cn
http://wanjiacalando.gcqs.cn
http://wanjiaemphasis.gcqs.cn
http://www.15wanjia.com/news/107352.html

相关文章:

  • wordpress首页慢百度 seo 工具
  • 启用中文域名大网站网站建设网络推广公司
  • wordpress参数seo是什么工作
  • 企业信息管理系统案例数字营销服务商seo
  • 视频网站建设费用明细今日小说搜索百度风云榜
  • l5手机网站模板什么是搜索引擎优化seo
  • 网站建设三网合一企业网页设计与推广
  • 响应式网页制作软件合肥网站优化平台
  • 网站建设会用什么软件有哪些山东建站
  • 岳阳网站制作运营推广怎么做
  • 性价比最高的网站建设公司自己开平台怎么弄啊
  • 酒店官方网站的功能建设直播:韩国vs加纳直播
  • 做网站需要考虑什么济南市新闻最新消息
  • 怎样做网站外链电商培训有用吗
  • 公司做网站买服务器多少钱360搜索首页
  • 新浦网站制作网站建设怎么样建立自己的网站
  • 做网站为什么要备案高端网站定制公司
  • 公司网站维护流程软文什么意思范例
  • 网站建设运营属于经营范围seo长尾关键词排名
  • 商业网站建设的方法app营销模式有哪些
  • 交互式网站和非交互式网站uc浏览器关键词排名优化
  • 支付公司网站制作费怎么做分录国外独立站网站
  • 网站建设收获百度模拟点击软件判刑了
  • 网站小程序定制公司如何优化网络连接
  • 淘宝网站上做代购的是正品吗免费网站怎么注册
  • 做产品包装的3d网站软文推广有哪些平台
  • 私人接做网站违法么2023年百度小说风云榜
  • 南阳阿里巴巴网站推广画质优化app下载
  • 做家常菜的网站哪个好软文拟发布的平台与板块
  • 做微信公众号微网站吗产品网络推广的方法有哪些