---
# System prepended metadata

title: 0690. Employee Importance
tags: [Leetcode, BFS, DFS, Google, Medium]

---

# 0690. Employee Importance
###### tags: `Leetcode` `Medium` `Google` `DFS` `BFS`
Link: https://leetcode.com/problems/employee-importance/
## 思路 $O(N)$ $O(N)$
首先用map将employee id和employee连接起来，接下来正常dfs/bfs即可
由于题中规定One employee has at most one direct leader and may have several subordinates.所以不需要用set记录有没有visited过
## Code
```java=
class Solution {
    public int getImportance(List<Employee> employees, int id) {
        Map<Integer, Employee> map = new HashMap<>();
        for(Employee employee:employees){
            map.put(employee.id, employee);
        }
        return dfs(map, id);
    }
    private int dfs(Map<Integer, Employee> map, int id){
        Employee curr = map.get(id);
        int ans = 0;
        ans += curr.importance;
        for(int sub:curr.subordinates){
            ans += dfs(map, sub);
        }
        return ans;
    }
}
```