817. 鍊錶元件
看懂題目是關鍵,因為缺失的結點值會將原鍊錶斷開,實際上就是讓我們求有多少個相連的子鍊錶。
方法1:遍歷鍊錶,每個節點在g中找到則為1,否則為0,存入棧中stack[1,1,0,1,1],然後再對棧進行判斷:
我們對鍊錶進行一次掃瞄,乙個元件在鍊錶中對應一段極長的連續節點,因此如果當前的節點在列表 g 中,並且下乙個節點不在列表 g 中,我們就找到了乙個元件的尾節點,可以將答案加 1。
例如,當鍊表為 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7,g 為 [0, 2, 3, 5, 7] 時,我們掃瞄之後可以發現 0, 3, 5, 7 四個節點是元件的尾節點,那麼答案就為 4。
817 鍊錶元件
給定乙個鍊錶 鍊錶結點包含乙個整型值 的頭結點 head。同時給定列表 g,該列表是上述鍊錶中整型值的乙個子集。返回列表 g 中元件的個數,這裡對元件的定義為 鍊錶中一段最長連續結點的值 該值必須在列表 g 中 構成的集合。示例 1 輸入 head 0 1 2 3 g 0,1,3 輸出 2 解釋 鍊...
817 鍊錶元件
求煉表中一段最長連續結點的值 值必須出現在列表g中,不要求順序 構成的集合的個數 一開始還以為是要求順序的,想說用遞迴來做,發現鍊錶的值只是出現在列表中而已,因此判斷鍊錶中的值出現在列表中的次數 連續不算 即可,有點類似移動視窗的思路 下面的實現是優化了幾次,第一次是使用了dict,第二次是不需要統...
鍊錶 817 鍊錶元件
817.鍊錶元件 給定煉表頭結點 head,該鍊錶上的每個結點都有乙個 唯一的整型值 同時給定列表 g,該列表是上述鍊錶中整型值的乙個子集。返回列表 g 中元件的個數,這裡對元件的定義為 鍊錶中一段最長連續結點的值 該值必須在列表 g 中 構成的集合。示例 1 輸入 head 0 1 2 3 g 0...