Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - CPP - 609. Find Duplicate File in System
題目:

解答:
class Solution {
public:
vector<vector<string>> findDuplicate(vector<string>& paths) {
unordered_map<string, vector<string>> mp;
for (auto p : paths) {
stringstream ss(p);
string dir;
ss >> dir;
string f;
while (ss >> f) {
int l = f.find('(');
int r = f.find(')');
string n = f.substr(0, l);
string c = f.substr(l + 1, r - l - 1);
string full = dir + "/" + n;
mp[c].push_back(full);
}
}
vector<vector<string>> ans;
for (auto [c, f] : mp) {
if (f.size() > 1) {
ans.push_back(f);
}
}
return ans;
}
};