0
点赞
收藏
分享

微信扫一扫

Leetcode690:员工的重要性

开源分享 2022-03-11 阅读 52
/*class Employee {
    public int id;
    public int importance;
    public List<Integer> subordinates;
};
*/

class Solution {
  public int help(List<Employee> employees,Employee e) {
        int count = 0;
        if(e.subordinates.isEmpty()) {
            return e.importance;
        } else {
            for(int i=0;i<e.subordinates.size();i++) {
                int id = e.subordinates.get(i);
                count += help(employees,getEmployee(employees,id));
            }
            return e.importance + count;
        }
    }
    public Employee getEmployee(List<Employee> employees, int id) {
        if(employees.isEmpty()) {
            return null;
        }
        for (int i = 0; i < employees.size(); i++) {
            Employee employee = employees.get(i);
            if(employee.id==id) {
               return employee;
            }
        }
        return null;
    }

    public int getImportance(List<Employee> employees, int id) {
        if(employees.isEmpty()) {
            return -1;
        }

        Employee employee = getEmployee(employees,id);
        if(employee==null) {
            return -1;
        }

        int count = help(employees,employee);
        return count;
    }
}

在这里插入图片描述

举报

相关推荐

0 条评论