【DFS】LeetCode 1376. 通知所有员工所需的时间

题目链接

1376. 通知所有员工所需的时间

思路

根据题目的条件,很容易知道 informTime == 0 的点是叶子结点,所以可以自底向上遍历,取最大值。

代码

class Solution {
    public int numOfMinutes(int n, int headID, int[] manager, int[] informTime) {
        int result = 0;

        for(int i = 0; i < manager.length; i++){
            // leaf node
            if(informTime[i] == 0){
                int temp = 0;
                int index = i;
                while(index != -1){
                    temp += informTime[index];
                    index = manager[index];
                }
                result = Math.max(result, temp);
            }
        }

        return result;
    }
}
posted @ 2023-03-02 10:11  Frodo1124  阅读(14)  评论(0编辑  收藏  举报