刷题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也可以。

晕了,不做优化了。

posted @ 2020-02-14 09:22  siwei718  阅读(91)  评论(0编辑  收藏  举报