【leetcode】690.员工的重要性

简介: 【leetcode】690.员工的重要性

16.png


题目讲解

一个领导可以有多个下属,一个下属只有一个领导,这就是一颗抽象的树,员工的重要性就是 root.val 。现在,问题就转换成,找到一棵树的某个结点,返回以此结点为头结点的树上所有结点的 root.val 之和。


先遍历找到这个领导,将这个领导作为这颗数的头结点(root),再使用递归将领导和直系下属的重要度全部累加。


详细代码

public class Solution {
    public int getImportance(List<Employee> employees, int id) {
        Employee root = null;
        for (Employee e : employees) {
            if (e.id == id) {
                root = e;
                break;
            }
        }
        int ans = root.importance;
        for (int sub : root.subordinates) {
            ans += getImportance(employees, sub);
        }
        return ans;
    }
}


目录
相关文章
|
6天前
|
SQL
leetcode-SQL-181. 超过经理收入的员工
leetcode-SQL-181. 超过经理收入的员工
24 0
|
6天前
|
SQL
leetcode-SQL-1731. 每位经理的下属员工数量
leetcode-SQL-1731. 每位经理的下属员工数量
19 0
|
6天前
|
SQL 算法 vr&ar
☆打卡算法☆LeetCode 181. 超过经理收入的员工 算法解析
☆打卡算法☆LeetCode 181. 超过经理收入的员工 算法解析
【LeetCode】员工的重要性 | 图像渲染 | 岛屿问题
【LeetCode】员工的重要性 | 图像渲染 | 岛屿问题
【LeetCode】员工的重要性 | 图像渲染 | 岛屿问题
|
数据库
LeetCode(数据库)- 员工的直属部门
LeetCode(数据库)- 员工的直属部门
87 0
|
数据库
LeetCode(数据库)- 查找每个员工花费的总时间
LeetCode(数据库)- 查找每个员工花费的总时间
94 0
|
数据库
LeetCode(数据库)- 每位经理的下属员工数量
LeetCode(数据库)- 每位经理的下属员工数量
69 0
|
数据库
LeetCode(数据库)- 使用唯一标识码替换员工ID
LeetCode(数据库)- 使用唯一标识码替换员工ID
102 0
|
数据库
LeetCode(数据库)- 项目员工 III
LeetCode(数据库)- 项目员工 III
66 0
|
6天前
|
算法 C++
【刷题】Leetcode 1609.奇偶树
这道题是我目前做过最难的题,虽然没有一遍做出来,但是参考大佬的代码,慢慢啃的感觉的真的很好。刷题继续!!!!!!
9 0