LeetCode 817 鍊錶元件 計數

2021-09-28 13:08:24 字數 666 閱讀 4663

解法一:常規解法,建圖+dfs,時間複雜度o(n)+o(n),空間複雜度因為需要儲存圖,所以是o(n)

這種方法是通解,對於所有圖都適用。

/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution

u = v;

}//dfs

int ans = 0;

unordered_setvisited;

for(int u : g)

return ans;

}private:

void dfs(int cur, unordered_map>& g, unordered_set& visited)

}};

解法二:利用list的特性,將g中的點對映到list上的話,每乙個元件內部都是線性連線的,外部應該是斷開的,所以可以利用這種特性,遍歷鍊錶,當乙個節點在g中,但它的下乙個節點為null或者下一節點的值不在g中,則說明這是乙個組建的末尾元素,ans++,再繼續遍歷

class solution 

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...