思路:用编程语言模拟一遍即可,即定义一个记录数组,每有一个节点A指向节点B,就把就把A的编号叠加在,记录数组下标为B所记录的数值中,并加以判断即可
此中用vector 虽然方便但是 由于vector 功能较强,对应的占用内存也较多,用数组即可满足要求
代码
int edgeScore(vector<int>& edges) {
int size = edges.size(), ret = 0;
long int Node[100000]={0};
for (int i = 0; i < size; i++) {
Node[edges[i]] += i;
if (Node[edges[i]] > Node[ret] ||
Node[edges[i]] == Node[ret] && edges[i] < ret) {
ret = edges[i];
}
}
return ret;
}