想說list最長的element,就會是center
class Solution {
public:
int findCenter(vector<vector<int>>& edges) {
vector<vector<int>> adjlist(100001);
for (auto el: edges) {
adjlist[el[0]].push_back(el[1]);
adjlist[el[1]].push_back(el[0]);
}
int longest = 0, node = -1;
for (int i = 0; i < adjlist.size(); i++) {
int curr_length = adjlist[i].size();
if (curr_length > longest) {
longest = curr_length;
node = i;
}
}
return node;
}
};
(掩面
看了Discussion,「中心點應該存在在所有邊裡」,這句話好有道理啊,題目的條件並不是要你找最多邊連著的那個點,而是已經清楚定義了,今天進來的所有Input,都會是星狀圖這樣的形式,那麼最佳解就應該是根據這句話才對。
參考:
https://leetcode.com/problems/find-center-of-star-graph/submissions/