不知道为啥今天真的蜜汁自信,结果凉凉。
第三题真的是我觉得最有把握的了,结果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:第二题谁能给讲讲发生了啥吗??我好像题意都没读懂
全部评论
(3) 回帖