您的位置:首页 > 其它

文章标题

2017-08-31 12:42 155 查看
阿利亚正在解一道数学题,给出了一颗有N个节点的树,索引从1到N,具体见下:



static int find(int numNodes, int rootNode, int[] values, int[][] edges) {
int max = Integer.MIN_VALUE;
int temMax = 1;
for (int i = 0; i < edges.length; i++) {
// 找到第1组
temMax = 1;
if (edges[i][0] == 1) {//改为==rootNode 当第i个为1才开始

temMax = values[ edges[i][0]-1 ] * values[edges[i][1]-1];
int t = edges[i][1];
int j = i + 1;
while (j < edges.length) {
if (edges[j][0] == t) {// 连起来了
temMax = temMax * values[ edges[j][1]-1 ];
t = edges[j][1];
}
j++;
}
}
max = Math.max(max, temMax);
}
return max;
}
public static void main(String[] args) {
int[] values = {2,4,10,20,1};
int[][] edges={{1,2},{1,3},{2,4},{2,5}};
int res=find(0, 0, values, edges);
System.out.println(res);
}
//答案160
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: