Employee Importance

Employee Importance

// Employee info
class Employee {
public:
// It’s the unique ID of each node.
// unique id of this employee
int id;
// the importance value of this employee
int importance;
// the id of direct subordinates
vector subordinates;
};
*/
class Solution {
public:

//id员工的下属员工价值和    
int getImportance(vector<Employee*> employees, int id) {

    //构建employee的hash表 id -> employee
    Employee* hash[2001];

    //if(employees[id] == NULL) return 0;

    for(int i = 0; i < employees.size(); i ++) {
        //cout<<employees[i]->id<<endl;
        hash[employees[i]->id] = employees[i];

    }

    //cout<<employees[id]->subordinates.size()<<endl;

    if(hash[id]->subordinates.size() == 0) return hash[id]->importance;

    int total = hash[id]->importance;

    //对其直接下属dfs 求importance和
    for(int i = 0; i < hash[id]->subordinates.size(); i ++) {

        total += getImportance(employees, hash[id]->subordinates[i]);

    }

    return total;

}

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值