一、通知所有员工所需的时间
深度优先搜索算法
没思路,搬运了一下下
class Solution {
public:
int dfs(int &id, int &n, vector<vector<int>>& employees, vector<int>& informTime){
int ret = informTime[id], tmp = 0;
for(auto& employee:employees[id])
tmp = max(tmp, dfs(employee, n, employees, informTime));
return ret + tmp;
}
int numOfMinutes(int n, int headID, vector<int>& manager, vector<int>& informTime) {
vector<vector<int>> employees(n);
for(int i = 0; i < n; i++)
if(i != headID)
employees[manager[i]].push_back(i);
return dfs(headID, n, employees, informTime);
}
};
作者:arist12
链接:https://leetcode.cn/problems/time-needed-to-inform-all-employees/solution/c-by-arist12-kwai/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
二、通知所有员工所需的时间
排序
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
map<string, vector<string>> map;
for(string& str: strs){
string flag = str;
sort(flag.begin(), flag.end());
map[flag].push_back(str);
}
vector<vector<string>> ans;
for(auto i = map.begin(); i != map.end(); i++)
ans.push_back(i->second);
return ans;
}
};