public int getImportance(List<Employee> employees, int id) {
//层次遍历,家里的设备太烂了,一个代码搞了一早上
int res = 0;
LinkedList<Integer> queue = new LinkedList<>();
Map<Integer,Employee> map = new HashMap<>();
queue.addLast(id);
for(Employee e:employees){
int curID = queue.removeFirst();
map.put(e.id,e);
if (map != null&&map.containsKey(curID)){
Employee employee = map.get(curID);
res += employee.importance;
if (employee.subordinates != null){
for(int i:employee.subordinates){
queue.addLast(i);
}
}
}else {
queue.addFirst(curID);
}
if (queue.isEmpty()){
break;
}
}
while (!queue.isEmpty()){
int curID=queue.removeFirst();
Employee employee=map.get(curID);
res+=employee.importance;
if (employee.subordinates != null){
for(int i:employee.subordinates){
queue.addLast(i);
}
}
}
return res;
}
leetcode690员工的重要性
最新推荐文章于 2024-10-01 05:04:32 发布