/*
// Definition for Employee.
class Employee {
public int id;
public int importance;
public List<Integer> subordinates;
};
*/classSolution {
HashMap<Integer, Employee> map = newHashMap<Integer, Employee>();
publicintgetImportance(List<Employee> employees, int id) {
for (Employee employee : employees)
map.put(employee.id, employee);
return dfs(id);
}
intdfs(int fa) {
intans= map.get(fa).importance;
for (int son : map.get(fa).subordinates)
ans += dfs(son);
return ans;
}
}
"""
# Definition for Employee.
class Employee:
def __init__(self, id: int, importance: int, subordinates: List[int]):
self.id = id
self.importance = importance
self.subordinates = subordinates
"""classSolution:
defgetImportance(self, employees: List['Employee'], id: int) -> int:
dic = {e.id : e for e in employees}
defdfs(fa: int) -> int:
ans = dic[fa].importance
for son in dic[fa].subordinates:
ans += dfs(son)
return ans
return dfs(id)
方法2:BFS + 哈希表
/*
// Definition for Employee.
class Employee {
public int id;
public int importance;
public List<Integer> subordinates;
};
*/classSolution {
publicintgetImportance(List<Employee> employees, int id) {
HashMap<Integer, Employee> map = newHashMap<Integer, Employee>();
for (Employee employee : employees)
map.put(employee.id, employee);
// LinkedList 实现了 Queue 接口
Queue<Integer> queue = newLinkedList<Integer>();
intans=0; queue.offer(id);
while (!queue.isEmpty()) {
intfa= queue.poll();
ans += map.get(fa).importance;
for (int son : map.get(fa).subordinates)
queue.offer(son);
}
return ans;
}
}
"""
# Definition for Employee.
class Employee:
def __init__(self, id: int, importance: int, subordinates: List[int]):
self.id = id
self.importance = importance
self.subordinates = subordinates
"""classSolution:
defgetImportance(self, employees: List['Employee'], id: int) -> int:
from collections import deque
dic = {e.id : e for e in employees}
queue = deque([id]); ans = 0while queue:
fa = queue.popleft()
ans += dic[fa].importance
for son in dic[fa].subordinates:
queue.append(son)
return ans
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~