刷题49. Group Anagrams

Posted siweihz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷题49. Group Anagrams相关的知识,希望对你有一定的参考价值。

一、题目说明

题目是49. Group Anagrams,给定一列字符串,求同源词(包含相同字母的此)的集合。题目难度是Medium。

二、我的做法

题目简单,就不多说,直接上代码:

class Solution{
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        vector<vector<string>> res;
        
        if(strs.size()<1) return res;
        unordered_map<string,vector<string>> ump;

        for(auto str:strs){
            string s = str; 
            sort(s.begin(),s.end());
            ump[s].push_back(str);
        }

        for ( auto it = ump.begin(); it != ump.end(); ++it ){
            res.push_back(it->second);
        }
        
        return res;
    }
};

性能如下:

Runtime: 32 ms, faster than 97.75% of C++ online submissions for Group Anagrams.
Memory Usage: 19.1 MB, less than 73.13% of C++ online submissions for Group Anagrams.

三、优化措施

主要是用了unordered_map,也用到了sort排序,当然用map也可以。

晕了,不做优化了。

以上是关于刷题49. Group Anagrams的主要内容,如果未能解决你的问题,请参考以下文章

49. Group Anagrams(js)

49. Group Anagrams

#Leetcode# 49. Group Anagrams

49. Group Anagrams

49. Group Anagrams

[leetcode][49] Group Anagrams