2374. 边积分最高的节点
这是一个有向图,且每个节点都只有一条出边,指向0的边有1,2,3,4 == 10, 指向7的有5,6 = 11.
我们只需要一次遍历就可以解决,先搞一张哈希表,k存节点编号,v存指向该节点的编号和。维护好这张哈希表即可完成。
class Solution {
public:
int edgeScore(vector<int>& e) {
unordered_map<long long, long long> hash;
long long ans = 0;
long long ansi = 0;
for (int i = 0; i < e.size(); i++)
{
hash[e[i]] += i;
if (hash[e[i]] > ans) {
ans = hash[e[i]];
ansi = e[i];
}
if (hash[e[i]] == ans) {
if (ansi > e[i])
ansi = e[i];
}
}
return ansi;
}
};