Employee Importance LeetCode solution in C++
1class Solution {2public:3int ans = 0;4void helper(unordered_map<int, pair<int, vector<int>>> &res, int id, vector<int> &dp) {5if (dp[id] == -1) {6ans += res[id].first;7dp[id] = 1;8} // employees[id-1]->importance;dp[id-1]=1;}9else10return;11for (int i = 0; i < res[id].second.size(); i++) helper(res, res[id].second[i], dp);12}13int getImportance(vector<Employee *> employees, int id) {14vector<int> dp(2001, -1);15unordered_map<int, pair<int, vector<int>>> res;16for (int i = 0; i < employees.size(); i++)17res[employees[i]->id] = {employees[i]->importance, employees[i]->subordinates};18helper(res, id, dp);19return ans;20}21};