标签:practice vector for back pid ranking amp 简单介绍 mit
For example:
Input: ["tea","and","ate","eat","den"]
Output: ["tea","ate","eat"]
class Solution { public: vector<string> anagrams(vector<string> &strs) { string str; map<string, int> map1; vector<string> res; for (int i=0; i<strs.size(); i++){ //将每一个字符串单独进行处理,将他们按字符大小进行排序,然后去哈希表中进行排序,然后去哈希表中 匹配是否存在 //相同的字符,如果找到就将他放入到vector中 str = strs[i]; sort(str.begin(), str.end()); if (map1.find(str) == map1.end()){//找到哈希表的结尾也没找到,用该字符串作为哈希表的键,value为下标值 map1[str] = i; } else{ //将第一次出现的anagrams设置一个哈希值,当下一个anagrams出现的时候将第一次出现的那个字符串进入res中 //并且将他的哈希值置为-1,以后不再进入res if (map1[str] >= 0){ res.push_back(strs[map1[str]]); map1[str] = -1; } //找到相同的 将他放入res res.push_back(strs[i]); } } return res; } };
标签:practice vector for back pid ranking amp 简单介绍 mit
原文地址:http://www.cnblogs.com/Kobe10/p/6346463.html