【Leetcode算法500題】目前B站最完整的數(shù)據(jù)結(jié)構(gòu)算法教程,包含所有刷題攻

課代表總結(jié)如下??????
【Leetcode算法500題】目前B站最完整的數(shù)據(jù)結(jié)構(gòu)算法教程,包含所有刷題
總結(jié):
一、計(jì)算機(jī)技術(shù)的問(wèn)題??
二、計(jì)算機(jī)技術(shù)的看法??
三、計(jì)算機(jī)技術(shù)的結(jié)論??
一、計(jì)算機(jī)技術(shù)的問(wèn)題???
1、【Leetcode算法500題】目前B站最完整的數(shù)據(jù)結(jié)構(gòu)算法教程,包含所有刷題

二、計(jì)算機(jī)技術(shù)的看法??
本羸弱關(guān)于P12環(huán)狀鏈表2解法的一種證明:
基于這種環(huán)形鏈表只有一種形式:鏈+環(huán);
設(shè)前面的鏈長(zhǎng)為x,后面的環(huán)長(zhǎng)為y,環(huán)的節(jié)點(diǎn)進(jìn)行一個(gè)標(biāo)號(hào)(0到y(tǒng)-1):
所要求得的就是環(huán)上標(biāo)號(hào)為0的節(jié)點(diǎn)位置;
模擬三種狀態(tài):
1)開(kāi)始時(shí)快指針走2步,慢指針走1步,我們可以認(rèn)為快指針必定先走完鏈進(jìn)入環(huán)(鏈長(zhǎng)是否為0不重要)那么當(dāng)慢指針走進(jìn)環(huán)時(shí),也就是走了x步后,快指針的位置應(yīng)該在環(huán)內(nèi)的x%y節(jié)點(diǎn)處(走了2x步,x步走鏈,x步在環(huán)里轉(zhuǎn)圈);
2)類似變?yōu)榱艘粋€(gè)追及問(wèn)題,快指針追慢指針,根據(jù)以上算得快慢指針進(jìn)入環(huán)時(shí)的初始狀態(tài),可以得知它們會(huì)在節(jié)點(diǎn)(y-x%y)處相遇;
3)慢指針回到表頭,快慢指針之后每次都只走1步,設(shè)它們t步后相遇(必然t>=x),這樣它們相遇時(shí),有方程(t-x)%y=(y-x%y+t)%y,化簡(jiǎn)后我們會(huì)發(fā)現(xiàn)這個(gè)方程是個(gè)必然結(jié)論,t>=x時(shí)t為多少都成立,這說(shuō)明在當(dāng)慢指針剛進(jìn)入環(huán)的時(shí)候二者就相遇了,相遇的點(diǎn)即為所求,得證。
ps:這是現(xiàn)場(chǎng)就能想出來(lái)的方法?太巧妙了,我思索了半天,一整個(gè)膜了。

三、計(jì)算機(jī)技術(shù)的結(jié)論??
1.學(xué)習(xí)以上內(nèi)容
