关注
第三题ac代码(树上的最长路径)
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author zhaole.myy
* @date 2019/9/24
*/
public class bd2019092403 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for (int i = 0; i < n; i++) {
a[i] = sc.nextInt();
}
List<List<Integer>> l = new ArrayList<>();//向下可达
for (int i = 0; i < n; i++) {
l.add(new ArrayList<>());
}
for (int i = 0; i < n - 1; i++) {
int father = sc.nextInt();
int son = sc.nextInt();
if (a[father - 1] < a[son - 1]) l.get(father - 1).add(son - 1);
else if (a[father - 1] > a[son - 1]) l.get(son - 1).add(father - 1);
}
sc.close();
System.out.println(answer(a,l));
}
private static int answer(int[] a, List<List<Integer>> l) {
int[] longest=new int[a.length];
for (int i = 0; i <longest.length ; i++) {
longest[i]=getLongest(i,l);
}
int max=Integer.MIN_VALUE;
for (int i = 0; i <longest.length ; i++) {
if(max<longest[i]) max=longest[i];
}
return max;
}
private static int getLongest(int i,List<List<Integer>> l){
if(l.get(i).size()==0) return 1;
List<Integer> canArrive=l.get(i);
int max=getLongest(canArrive.get(0),l);
for (int j = 1; j < canArrive.size(); j++) {
int t=getLongest(canArrive.get(j),l);
if(max<t) max=t;
}
return max+1;
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
03-20 11:10
门头沟学院 前端工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# Agent面试会问什么? #
29923次浏览 1182人参与
# 通信/硬件的薪资开多少,才值得去? #
76166次浏览 406人参与
# 厦门银行科技岗值不值得投 #
18535次浏览 420人参与
# 面试体验最好和最差的公司 #
21964次浏览 158人参与
# 美团笔试 #
888062次浏览 5590人参与
# 我的求职进度条 #
978635次浏览 6510人参与
# 哪些公司一直卡在简历筛选 #
103048次浏览 338人参与
# 拿到offer之后,可以做些什么 #
103114次浏览 504人参与
# 说说你知道的学历厂 #
398901次浏览 1419人参与
# 平台or薪资 硬件uu更看重哪个 #
167005次浏览 624人参与
# bilibili求职进展汇总 #
190480次浏览 1091人参与
# 听劝,这个公司值得去吗 #
714555次浏览 2024人参与
# 一人分享一个skill #
7799次浏览 197人参与
# 春招至今,你收到几个面试了? #
77160次浏览 1032人参与
# 给工作过的公司写一条大众点评,你会怎么写? #
10588次浏览 130人参与
# 美团秋招笔试 #
207926次浏览 1166人参与
# 拼多多工作体验 #
55103次浏览 379人参与
# 一人说一个提前实习的好处 #
122831次浏览 715人参与
# 烂工作和没工作哪个更痛苦? #
17606次浏览 270人参与
# 巨人网络求职进展汇总 #
193627次浏览 1232人参与
# AI替代不了什么? #
11865次浏览 200人参与
查看22道真题和解析