五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

160. 56. 57. | 區(qū)間合并類型 LeetCode

2020-05-11 11:44 作者:有木乘舟  | 我要投稿

?

?分析:

  • 暴力解法,分別遍歷兩個(gè)鏈表,判斷a鏈表是否有結(jié)點(diǎn)存在于b鏈表中。

  • 哈希表解法,遍歷a鏈表,將a鏈表的結(jié)點(diǎn)用哈希表存儲,再遍歷b鏈表,判斷b鏈表中是否有結(jié)點(diǎn)存在于哈希表中。

  • 雙指針法:

    • 該方法核心思路在于消除兩個(gè)鏈表的長度差異,由題目可得知,鏈表的相交部分是相同的,存在差異的只有前面不重疊的那部分,而兩個(gè)鏈表的長度是可能不同的。如果我們能夠把長鏈表多出來的那部分差異給消除,就能夠通過遍歷來得到相交的部分。

    • 設(shè)置兩個(gè)指針,分別指向a,b兩個(gè)鏈表;a,b兩個(gè)指針同時(shí)遍歷鏈表;當(dāng)其中某個(gè)指針遍歷到結(jié)尾的時(shí)候,將其指向另一個(gè)鏈表的起始位置;新的a,b指針繼續(xù)遍歷鏈表,直到另一個(gè)指針也遍歷到結(jié)尾并指向另一個(gè)鏈表的起始位置;此時(shí),a,b指針同時(shí)開始重新遍歷鏈表,當(dāng)a,b指針相同的時(shí)候,得到相交的結(jié)點(diǎn)。

    ? 理解了雙指針方法的核心思路后,我們可以對代碼進(jìn)行優(yōu)化,只需要在一次遍歷中,同時(shí)判斷雙指針是否到達(dá)了結(jié)尾,或者是相同。


分析:

??具體分析看官方已經(jīng)講解的十分詳細(xì),簡單來講就是連續(xù)區(qū)間在排序后一定互相臨近,因此對可合并的連續(xù)區(qū)間,只需要求出其上界和下屆即可。

    https://leetcode-cn.com/problems/merge-intervals/solution/he-bing-qu-jian-by-leetcode-solution/

    分析:

    ? 題目提供的是已經(jīng)排好序的區(qū)間列表,因此我們只需要將新的區(qū)間和列表中的區(qū)間進(jìn)行比較,然后合并插入即可。


    ? 我們只需要考慮三種情況:

    1. 新區(qū)間不與當(dāng)前區(qū)間重疊,則將當(dāng)前區(qū)間添加到輸出列表中;若新區(qū)間還未添加到輸出列表中,則將新區(qū)間添加到輸出列表中。

      1. 新區(qū)間左邊界大于當(dāng)前區(qū)間的右邊界

      2. 新區(qū)間的右邊界小于當(dāng)前區(qū)間的左邊界

    2. 新區(qū)間與當(dāng)前區(qū)間重疊,則合并兩個(gè)區(qū)間,并將合并后的區(qū)間當(dāng)做新區(qū)間,進(jìn)行下一步判斷。

    3. 若新區(qū)間不與當(dāng)前區(qū)間重疊,且循環(huán)已經(jīng)結(jié)束,則將新區(qū)間添加到輸出列表的最后面。

圖解:

代碼:


160. 56. 57. | 區(qū)間合并類型 LeetCode的評論 (共 條)

分享到微博請遵守國家法律
屏边| 沽源县| 修文县| 浑源县| 柘城县| 兴文县| 轮台县| 汉中市| 体育| 梨树县| 南昌县| 当涂县| 德清县| 安义县| 石渠县| 巫山县| 柳州市| 汕尾市| 新兴县| 龙门县| 揭阳市| 宁强县| 大新县| 嘉祥县| 湖口县| 太和县| 胶南市| 逊克县| 游戏| 武义县| 定兴县| 景洪市| 公安县| 北安市| 绥滨县| 彩票| 广汉市| 磐安县| 晋州市| 屏山县| 苍南县|