shlogg · Early preview
Rakesh Reddy Peddamallu @rakesh678219

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...