根据当前id查找该人,然后dfs遍历该人的下属数组,进而将所有的importance加起来求和。
/*
// Definition for Employee.
class Employee {
public:
int id;
int importance;
vector<int> subordinates;
};
*/
class Solution {
public:
int ans,f,n;
void dfs(int id,vector<Employee*> v)
{
for(int i=0;i<n;i++)
{
if(v[i]->id==id)
{
ans+=v[i]->importance;
for(int j=0;j<v[i]->subordinates.size();j++)
{
dfs(v[i]->subordinates[j],v); //遍历该人的下属
}
}
}
}
int getImportance(vector<Employee*> employees, int id) {
n=employees.size();
dfs(id,employees);
return ans;
}
};
256

被折叠的 条评论
为什么被折叠?



