精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

算法|雙指針是攻破鏈表的優(yōu)秀法寶

人工智能 算法
我現(xiàn)在有點(diǎn)明白了,在面試過程中面試官有時會讓我們手寫代碼,其實(shí)主要是考驗(yàn)大家的基本功,更是通過大眾都熟悉的領(lǐng)域來考核大家的體系化思維與應(yīng)對思路。

我現(xiàn)在有點(diǎn)明白了,在面試過程中面試官有時會讓我們手寫代碼,其實(shí)主要是考驗(yàn)大家的基本功,更是通過大眾都熟悉的領(lǐng)域來考核大家的體系化思維與應(yīng)對思路。

前文前文學(xué)習(xí)了基礎(chǔ)數(shù)據(jù)結(jié)構(gòu):鏈表(單鏈表),接下來我將從leetcode中挑選幾道挺有意思的算法題,與大家一起來學(xué)習(xí)。

鏈表中如果與相對位置有關(guān)的,基本通過引入雙指針(快慢指針)即可實(shí)現(xiàn)一次遍歷就求解。

1、檢測一個單鏈表中是否存在環(huán)

題目:如果給你一個指定的單鏈表,請判斷是否存在環(huán)。

作為一個算法小白來說,看到這個題目,不假思索后想到的思路一定是:引入一個HashSet,然后從頭開始遍歷單鏈表,將每一個元素存儲到HashSet中,在遍歷過程中,如果該元素在節(jié)點(diǎn)在HashSet中存在,則表示存儲環(huán)。

溫馨提示:本文的鏈表使用上文筆者手寫的鏈表。

代碼實(shí)現(xiàn)如下:

在算法領(lǐng)域通常有兩個維度來評估一款算法的優(yōu)劣:時間復(fù)雜度、空間復(fù)雜度。

  • 時間復(fù)雜度:O(N),因?yàn)樾枰闅v整個鏈表,隨著鏈表數(shù)據(jù)的增長,遍歷的次數(shù)就更多。
  • 空間復(fù)雜度:O(N),因?yàn)檫@里額外申請來一個空間用來存儲遍歷過的節(jié)點(diǎn)。

進(jìn)階:能否對上述算法進(jìn)行優(yōu)化,將空間復(fù)雜度優(yōu)化到O(1)。

在業(yè)界有一個經(jīng)典的算法,龜兔賽跑算法,主要用于檢測鏈表中是否存在環(huán),通常可以解決如下問題:

  • 檢測鏈表中是否存在環(huán)
  • 如果存在環(huán),計算出環(huán)的入口節(jié)點(diǎn)
  • 如果存在環(huán),計算出環(huán)的長度

從網(wǎng)上獲取“龜兔賽跑”的具體描述:

龜兔賽跑算法的理論一:引入兩個快慢兩個指針,兩個指針同時從鏈表的頭節(jié)點(diǎn)開始遍歷,快指針每次移動2,慢指針每次移動1步,如果鏈表存儲環(huán),快指針最終會追上慢指針,即兩個指針會重合;

接下來我們可以根據(jù)這個規(guī)則,寫出示例代碼如下:

是不是非常優(yōu)雅,只需要引入兩個指針。

龜兔賽跑算法的理論二:快慢指針在第一次相遇后,如果要求環(huán)的入口,方法為:將slow指針移動到隊(duì)列頭部,然后快慢指針第一次相遇的點(diǎn),即為環(huán)的入口節(jié)點(diǎn)。

2、刪除鏈表中倒數(shù)第n個節(jié)點(diǎn)

在沒有了解到“龜兔賽跑算法”之前,要刪除倒數(shù)第n個節(jié)點(diǎn),大家肯定會先遍歷一次鏈表,得出鏈表的總長度用len表示,然后再次遍歷,第二次遍歷只需遍歷的次數(shù)為(len-n)個節(jié)點(diǎn)即可。

但我們學(xué)習(xí)了龜兔賽跑算法之后,我相信讀者朋友們一定也能夠想到,引入兩個指針,可以只需要遍歷一次。

具體的解法如下:

引入兩個指針,初始狀態(tài)都執(zhí)行Header節(jié)點(diǎn),然后先讓一個指針移動n次,然后兩個指針同時移動,知道第一個指針到達(dá)鏈表的尾部,此時第二個指針就是倒數(shù)第n個節(jié)點(diǎn),沿著上圖,當(dāng)first移動到隊(duì)尾的狀態(tài)圖如下:

與具體寫代碼有關(guān),最終如上圖所示,由于是刪除倒數(shù)第n個節(jié)點(diǎn),并且是單鏈表,故通常需要先找到要刪除節(jié)點(diǎn)的前驅(qū)節(jié)點(diǎn),從這方面考慮,上述結(jié)束條件選用第一種比較合適,接下來是根據(jù)上述思路的代碼實(shí)現(xiàn):

代碼解讀如下:

代碼@1:只要當(dāng)前節(jié)點(diǎn)不為空,就可以繼續(xù)向后驅(qū)動,主要是為了保證,在剛好擁有n個節(jié)點(diǎn)的情況下,能驅(qū)動n次,也方便理解,例如現(xiàn)在有一個三個節(jié)點(diǎn)的鏈表,要刪除倒數(shù)第三個,其運(yùn)行軌跡如下圖所示:

代碼@2:如果i小于n,說明沒有遍歷n次,缺少元素,直接拋出數(shù)組越界異常。

代碼@3:說明剛好遍歷了n次,正如上圖所示,則直接刪除頭節(jié)點(diǎn)。

代碼@4:接下來將同步推進(jìn)first,second指針,由于單鏈表刪除節(jié)點(diǎn),需要知道被刪除節(jié)點(diǎn)的前驅(qū)節(jié)點(diǎn),故first指針指向尾節(jié)點(diǎn)(node.next == null,表示到達(dá)尾部),如下圖所示:

代碼的解讀就到這里了,不得不佩服雙指針的強(qiáng)大之處。

3、求鏈表的中間節(jié)點(diǎn)經(jīng)過上面兩道題的講解與訓(xùn)練,我相信讀者朋友們看到這種在鏈表領(lǐng)域與位置相關(guān)的題目,終極殺器:雙指針。

解題方法:中間位置,那我們可以引入快慢兩個指針,快指針是慢指針的2倍速率,這樣當(dāng)快指針到達(dá)鏈表尾部,慢指針就正好走在鏈表的中間件位置。


責(zé)任編輯:武曉燕 來源: 中間件興趣圈
相關(guān)推薦

2021-10-14 08:19:50

雙指針滑動窗口算法

2025-06-05 02:43:00

2014-09-04 15:16:20

2013-07-01 15:06:04

2012-08-01 09:51:37

遞歸算法

2021-11-30 08:12:04

物流訂單實(shí)踐

2021-07-15 06:43:12

Python數(shù)據(jù)結(jié)構(gòu)

2021-03-16 05:46:07

雙鏈表單鏈表LinkedList

2024-07-03 12:04:42

C++this?

2012-08-29 09:58:34

JavaScriptJavaScript模

2015-03-12 14:24:21

CIO

2023-11-08 07:56:38

單鏈表雙鏈表

2022-06-28 15:13:12

Vuediff 算法

2018-08-31 08:03:00

深度學(xué)習(xí)GBDT算法CatBoost

2011-03-22 16:54:58

SQL語句

2021-03-31 21:13:41

人工智能AI安全運(yùn)營中心

2020-09-11 08:46:39

后端框架開發(fā)

2016-01-06 14:43:21

2020-10-23 09:50:20

鏈表Java代碼

2014-09-16 10:24:49

PostgreSQLNoSQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

免费的国产精品| 成人黄色免费观看| av在线播放成人| 欧美中文字幕视频| 波多野结衣家庭教师在线观看 | 欧美乱妇15p| 日本不卡中文字幕| 正在播放欧美视频| 日韩欧美中文在线| 欧美与欧洲交xxxx免费观看| 久久久久99精品成人| 丁香5月婷婷久久| 精品视频一区二区不卡| 久久久久久人妻一区二区三区| 国产 日韩 欧美 在线| 国产精品亚洲片在线播放| 91麻豆精品国产91| 国产成人精品无码播放| 污网站在线免费看| 久久精品一级爱片| 国产精品久久久久久久久婷婷| www亚洲色图| 亚洲精品高潮| 欧美日韩国产首页| 热久久精品国产| 懂色av一区| 亚洲三级在线观看| 清纯唯美一区二区三区| 亚洲第一天堂影院| 蜜臀av性久久久久蜜臀av麻豆| 日韩av网站大全| 国产美女视频免费看| 亚洲小少妇裸体bbw| 亚洲国产视频二区| 欧美视频免费在线观看| 色爽爽爽爽爽爽爽爽| 国产精品ⅴa有声小说| 91性感美女视频| caoporn国产精品免费公开| 亚洲视频一区在线播放| 丝袜亚洲另类欧美综合| 欧美中文字幕在线视频| 色播视频在线播放| 黄色欧美成人| 久久99热精品这里久久精品| 538任你躁在线精品视频网站| 亚洲男人在线| 欧美日韩中文字幕综合视频| 国内少妇毛片视频| 免费电影视频在线看| 玉米视频成人免费看| 偷拍盗摄高潮叫床对白清晰| 成人p站proumb入口| 国产欧美一区二区三区在线看蜜臀 | 国内av一区二区三区| 成人一区二区在线观看| 91视频免费进入| 91亚洲国产成人久久精品麻豆| 久久精品亚洲人成影院| 深夜福利国产精品| 美女av免费看| 欧美在线免费| 欧美精品久久久久久久免费观看| 野花社区视频在线观看| 亚洲精品小区久久久久久| 日韩av中文字幕在线| 国产精品揄拍100视频| 国产日产精品_国产精品毛片| 制服.丝袜.亚洲.中文.综合| 九九热在线免费| 日本免费一区二区三区等视频| 一区二区三区在线观看视频| 成年丰满熟妇午夜免费视频| 国产美女情趣调教h一区二区| 成人综合在线观看| 国产一区二区视频在线免费观看| 五月婷婷六月婷婷| 免费在线观看日韩欧美| 亚洲va国产va天堂va久久| 亚洲欧美激情国产综合久久久| 亚洲精品1区| 欧美一级大片在线观看| 亚洲欧美精品| 亚洲久久在线观看| 日本va欧美va精品| 亚洲qvod图片区电影| 免费观看国产精品| 欧美国产精品一区二区| 热久久最新网址| 久草在线资源福利站| 欧美色综合网站| 中文字幕无人区二| 黄色不卡一区| 欧美激情欧美激情| 久草视频在线免费| 国产69精品久久久久777| 蜜桃成人免费视频| 二区三区在线观看| 欧美日韩国产中文字幕| 久久久久久久高清| 亚洲老女人视频免费| 久久在精品线影院精品国产| 精品91久久久| 精品亚洲成a人| 久久精品国产美女| 免费av网站在线观看| 午夜久久久影院| 狠狠干狠狠操视频| 女人av一区| 欧美日本国产在线| 一区二区视频免费| 91一区一区三区| 黄色一级片国产| 成人影院网站| 精品欧美久久久| 国产日韩精品中文字无码| 99精品99| 99久久精品久久久久久ai换脸| 国产在线一级片| 不卡在线观看av| 中文字幕乱码免费| 色婷婷综合久久久中字幕精品久久| 精品色蜜蜜精品视频在线观看| 国产色一区二区三区| 国产精品久久久久77777丨| 精品少妇一区二区三区日产乱码| 成年人看片网站| 91中文字幕精品永久在线| 日本精品一区二区三区在线播放视频| 久草视频在线观| 狠狠色丁香久久婷婷综合_中| 国产欧美日韩精品丝袜高跟鞋| 91丨九色丨蝌蚪丨对白| 久久女同互慰一区二区三区| av高清在线免费观看| 欧美激情精品| 免费97视频在线精品国自产拍| 午夜国产小视频| 人妖欧美一区二区| 日韩精品最新在线观看| 日韩在线免费| 亚洲欧美日韩中文在线制服| 欧美bbbbbbbbbbbb精品| 99精品欧美一区二区三区小说 | 午夜性色福利影院| 一区二区三区久久| 久草福利在线观看| 综合视频在线| www.久久爱.cn| 免费网站在线观看人| 精品久久久久久久久久久久包黑料| 精品久久久久久无码人妻| 自拍欧美日韩| 国产精品免费一区二区三区四区 | 免费看污污网站| 亚洲精品国产动漫| 国产成人涩涩涩视频在线观看| 中文字幕av网站| 中文字幕av免费专区久久| 搡女人真爽免费午夜网站| 成人写真视频| 91久久精品国产91久久| 亚洲欧美激情精品一区二区| 91porny九色| 国产精品灌醉下药二区| 精品人妻一区二区三| 欧美成人高清| 精品福利影视| 日韩av超清在线观看| 中文字幕视频在线免费欧美日韩综合在线看 | 欧美日韩亚洲一区二区三区| 亚洲制服丝袜在线播放| 国产农村妇女毛片精品久久莱园子| 91精品在线观看视频| 色呦呦在线观看视频| 亚洲成人中文字幕| 少妇久久久久久久| 亚洲另类一区二区| 91黄色免费视频| 免费视频最近日韩| 欧美亚洲视频一区| youjizz欧美| 国产精品爱啪在线线免费观看| 黄色av小说在线观看| yy111111少妇影院日韩夜片 | 亚洲精品无吗| 日本精品va在线观看| av亚洲在线| 欧美成人免费网站| 亚洲免费激情视频| 国产精品免费视频观看| 精品久久久久久无码人妻| 久久婷婷一区| 色哟哟免费网站| 亚洲图区在线| 亚洲综合色激情五月| a日韩av网址| 欧美成人精品不卡视频在线观看| 国产精品第六页| 一区二区三区中文在线观看| 高潮毛片无遮挡| 国产一区久久久| 日韩毛片在线免费看| 99久久婷婷| 美日韩免费视频| 97se亚洲| 成人激情视频在线| 涩涩视频在线| 九九热最新视频//这里只有精品| 伊人亚洲综合网| 亚洲一区二区av电影| 久久精品在线观看视频| 97成人超碰视| 亚洲一区和二区| 激情综合网最新| 亚洲黄色av网址| 国产精品久久久免费| 亚洲av首页在线| 欧美丝袜丝交足nylons172| 国产精品自拍首页| 国产精品777777在线播放| 国产精品国产自产拍高清av水多| 超碰在线国产| 亚洲精品98久久久久久中文字幕| 黄色污污网站在线观看| 亚洲成av人综合在线观看| 蜜臀久久精品久久久用户群体| 国产一区二区三区精品欧美日韩一区二区三区| 久久免费视频3| 欧美激情第8页| 亚洲图片都市激情| 蜜桃一区二区三区| 久久九九视频| 精品伊人久久久| 国产经品一区二区| 日本精品在线播放| 91深夜福利视频| 亚洲热av色在线播放| 国产在线视频91| 色诱色偷偷久久综合| 国产精品香蕉在线观看| 成人国产精品| 91精品久久久久久久久久| 欧美国产视频| 91网在线免费观看| 日本在线一区二区三区| 亚洲精品免费一区二区三区| 婷婷视频一区二区三区| av电影成人| 国产毛片精品| 久久久久久国产精品一区 | 色婷婷精品久久二区二区蜜臀av| 美女洗澡无遮挡| 国产亚洲一二三区| 日韩黄色中文字幕| 亚洲欧洲av色图| 最新一区二区三区| 亚洲男人的天堂在线aⅴ视频| 91香蕉国产在线观看| 91精品在线免费视频| 91传媒视频免费| 午夜小视频在线观看| 精品国产乱码91久久久久久网站| 99鲁鲁精品一区二区三区| 国产精品久久久久久久裸模| 天天做夜夜爱爱爱| 亚洲精品欧美激情| 日本午夜小视频| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲石原莉奈一区二区在线观看| 日韩毛片在线视频| 香港成人在线视频| 成人av网站在线播放| 欧美日韩一区二区电影| 国产精品久久久久毛片| 精品日韩一区二区三区免费视频| 亚洲无码精品在线观看| 欧美一区二区视频在线观看2020| 人妖精品videosex性欧美| 色呦呦久久久| 57pao精品| 九色成人搞黄网站| 亚洲自拍偷拍第一页| 精品久久97| 日本午夜一区二区三区| 91精品精品| 国产视频九色蝌蚪| av文字幕在线观看| 日韩视频免费在线| ,一级淫片a看免费| 91丝袜美腿高跟国产极品老师| 精品乱码一区二区三区| 中文字幕亚洲影视| 欧美日韩一区二区三区在线看 | 黄色一级一级片| 久久成人av少妇免费| 日韩aaaaa| 亚洲私人影院在线观看| 四虎精品永久在线| 91精品国产欧美一区二区成人 | 激情欧美一区二区| 强迫凌虐淫辱の牝奴在线观看| 成人免费视频caoporn| 日本一道本视频| 偷拍一区二区三区| 国产黄色av网站| 亚洲欧洲在线观看| 精精国产xxxx视频在线中文版| 欧美黑人巨大xxx极品| 深夜视频一区二区| 国产一区二区三区高清视频| 中文精品久久| 天天干天天玩天天操| 91色|porny| 精品小视频在线观看| 9191久久久久久久久久久| 韩国精品视频| 欧美一级高清免费| 老司机精品在线| 青春草国产视频| 国产aⅴ精品一区二区三区色成熟| 美国黄色一级视频| 欧美二区三区91| 天天插天天干天天操| 久久精品视频播放| 久久夜夜操妹子| 欧美日韩精品久久| 亚洲国产婷婷| 日韩精品xxx| 亚洲人被黑人高潮完整版| 亚洲视频中文字幕在线观看| 亚洲欧洲日产国码av系列天堂| 狠狠v欧美ⅴ日韩v亚洲v大胸| 尤物yw午夜国产精品视频明星| 午夜伦全在线观看| 国产成人在线播放| 亚洲精品蜜桃乱晃| 国产黄色特级片| 久久精品这里都是精品| 无码人妻精品一区二区三区不卡 | 在线观看毛片视频| 亚洲天堂av图片| 精品欧美一区二区三区在线观看 | 久久久免费在线观看| 日韩有码欧美| 在线看视频不卡| 国产在线日韩欧美| 欧美日韩在线观看成人| 91.com视频| 中文在线字幕免费观看| 97免费高清电视剧观看| 狠色狠色综合久久| 成人做爰www看视频软件| 亚洲国产一区二区a毛片| 黄色片一区二区| 57pao国产成人免费| 禁果av一区二区三区| 天天综合网日韩| 日韩一区在线播放| 亚洲av无码一区二区乱子伦| 久久久久久久久久久免费 | 成年人看的免费视频| 欧美男人的天堂一二区| 成人高清免费在线| 风间由美一区二区三区| 国产视频一区在线观看一区免费| 不卡中文字幕在线观看| 亚洲免费资源在线播放| 亚洲精品网站在线| 欧美在线亚洲一区| 色欧美自拍视频| 不卡的一区二区| 日韩欧美在线视频观看| 成年网站在线| 91九色视频在线观看| 亚洲综合国产| 欧美一级特黄高清视频| 精品日韩99亚洲| 日韩新的三级电影| av影院在线播放| 久久综合国产精品| 国产精品女人久久久| 国内精品久久影院| 成人免费a**址| 亚洲黄色小说在线观看| 日本韩国精品在线| 亚洲精品一线| 日本精品二区| 国产成人精品aa毛片| 成人a v视频| 久久久视频精品| 日韩电影二区| 性久久久久久久久久久| 欧美精品免费视频| 亚洲精品福利电影| a级片一区二区| 中文字幕成人av| 日韩资源在线| 成人av免费看| 久久99精品一区二区三区三区|