Optimizing Anagram Grouping With Hashmap
Grouping Anagrams using Sorting takes O(nlogn * m) time complexity, but can be optimized to O(n * m) with Hashmap by counting character frequencies.
Using Sorting
/**
* @param {string[]} strs
* @return {string[][]}
*/
var groupAnagrams = function (strs) {
let res = new Map()
for (let s of strs) {
const key = s.split('').sort().join('')
if (!res.has(key)) {
res.set(key, []);
}
res.get(key).push(s);
}
return Array.from(res.values());
};
Using Sorting takes O(nlogn * m) time complexity
We can optimize to O(n * m) with Hashmap
Using HashMap
/**
* @param {string[]} strs
* @return {string[][]}
*/
var groupAnagrams = function (strs) {
let res = new...