
思路
因为节点编号从0到n-1,所有可以创建一个数组用来记录每个节点的边积分,遍历edges数组,并且令ansarr[edges[i]]+=i,遍历结束后即可得到每个节点的边积分,再遍历ansarr数组,找到值最大的那个索引即为答案,有相同的则返回较小的索引
解题过程
注意:节点的边积分可能超过Integer型的最大值,所以要用long型
Code
class Solution {
public int edgeScore(int[] edges) {
int len=edges.length;
long ansarr[]=new long[len];
for(int i=0;i<len;i++){
ansarr[edges[i]]+=i;
}
int ans=-1;
long max=-999;
for(int i=0;i<len;i++){
if(ansarr[i]>max){
ans=i;
max=ansarr[i];
}
}
return ans;
}
}
作者:菜卷
链接:https://leetcode.cn/problems/node-with-highest-edge-score/solutions/2925303/bian-ji-fen-zui-gao-de-jie-dian-chao-yue-lz3u/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文链接: https://blog.csdn.net/qq_53568730/article/details/142423900