Leetcode 817 鍊錶元件 C

2021-10-08 23:56:04 字數 922 閱讀 7382

給定煉表頭結點 head,該鍊錶上的每個結點都有乙個 唯一的整型值 。

同時給定列表 g,該列表是上述鍊錶中整型值的乙個子集。

返回列表 g 中元件的個數,這裡對元件的定義為:鍊錶中一段最長連續結點的值(該值必須在列表 g 中)構成的集合。

示例 1:

輸入: 

head: 0->1->2->3

g = [0, 1, 3]

輸出: 2

解釋:

鍊錶中,0 和 1 是相連線的,且 g 中不包含 2,所以 [0, 1] 是 g 的乙個元件,同理 [3] 也是乙個元件,故返回 2。

示例 2:

輸入: 

head: 0->1->2->3->4

g = [0, 3, 1, 4]

輸出: 2

解釋:

鍊錶中,0 和 1 是相連線的,3 和 4 是相連線的,所以 [0, 1] 和 [3, 4] 是兩個元件,故返回 2。

unordered_set集合記錄g中的元素,然後用乙個變數len記錄當前所在的一段鍊錶中是g元件的鍊錶長度。當當前節點值不是g中元素時,若len大於0,我們便可以進行元件計數,同時將len設為0;否則,則len++。

詳細過程見**

int

numcomponents

(listnode* head, vector<

int>

& g)

else

now = now-

>next;}if

(len!=

0) ans++

;//最後一段也是元件

return ans;

}

Leetcode 817 鍊錶元件

time 20190903 type medium 給定乙個鍊錶 鍊錶結點包含乙個整型值 的頭結點 head。同時給定列表 g,該列表是上述鍊錶中整型值的乙個子集。返回列表 g 中元件的個數,這裡對元件的定義為 鍊錶中一段最長連續結點的值 該值必須在列表 g 中 構成的集合。示例 1 輸入 head...

LeetCode 817 鍊錶元件

difficulty 中等 給定煉表頭結點head,該鍊錶上的每個結點都有乙個唯一的整型值。同時給定列表g,該列表是上述鍊錶中整型值的乙個子集。返回列表g中元件的個數,這裡對元件的定義為 鍊錶中一段最長連續結點的值 該值必須在列表g中 構成的集合。示例 1 輸入 head 0 1 2 3 g 0,1...

leetcode 817 鍊錶元件

給定煉表頭結點 head,該鍊錶上的每個結點都有乙個 唯一的整型值 同時給定列表 g,該列表是上述鍊錶中整型值的乙個子集。返回列表 g 中元件的個數,這裡對元件的定義為 鍊錶中一段最長連續結點的值 該值必須在列表 g 中 構成的集合。示例 1 輸入 head 0 1 2 3 g 0,1,3 輸出 2...