1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Solution { public: vector<vector<string>> groupAnagrams(vector<string>& strs) { vector<int> v1 ={3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103}; unordered_map<unsigned long long, vector<string>> m1; for(auto it: strs) { unsigned long long temp = 1; for(auto ch:it) { temp*=v1[ch-'a']; } m1[temp].emplace_back(it); } vector<vector<string>> ans; for(auto &[x,y]: m1) { ans.emplace_back(y); } return ans; } };
|