百度笔试第三题求指点
不知道为啥今天真的蜜汁自信,结果凉凉。
第三题真的是我觉得最有把握的了,结果0%。
Map<Integer, List<Integer>> map = new HashMap<>();
int[] power;
int[][] road;
int n ;
public int climbTree(int[][] nums, int[] power){
road = nums;
power = power;
n = power.length;
for(int[] node : road){
List<Integer> list = map.getOrDefault(node[0], new ArrayList<>());
list.add(node[1]);
map.put(node[0], list);
}
int ans = climb(1) + 1;
return ans;
}
public int climb(int start){
if(start == n){
return 0;
}
int maxLen = 0;
List<Integer> list = map.get(start);
if(list == null){
return 0;
}
for(Integer node : list){
if(power[node-1] > power[start-1]){
int subLen = climb(node) + 1;
maxLen = Math.max(subLen, maxLen);
}
}
return maxLen;
}
PS:第二题谁能给讲讲发生了啥吗??我好像题意都没读懂 

顺丰集团工作强度 369人发布