LeetCode 49. 字母異位詞分組
題目內容
給定一個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。
示例:
輸入: ["eat", "tea", "tan", "ate", "nat", "bat"]
輸出:
[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]
解題思路
我的解法是使用輔助hashtable對單詞字母進行記錄與對比。
使用hashmap可能會好一點,不過我沒時間重寫。
解題程式碼
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
vector<vector<string>> ans;
vector<vector<int>> has;
int i=0;
while(i<strs.size())
{
if(i==0)
{
vector<string> t;
t.push_back(strs[i]);
ans.push_back(t);
has.push_back(createH(strs[i]));
}
else
{
int j=0;
vector<int> m;
m=createH(strs[i]);
while(j<ans.size())
{
int k=0;
while(k<26)
{
if(m[k]!=has[j][k])break;k++;
}
if(k==26){ans[j].push_back(strs[i]);break;}
else j++;
}
if(j==ans.size()){
vector<string> t;
t.push_back(strs[i]);
ans.push_back(t);
has.push_back(m);
}
}
i++;
}
return ans;
}
vector<int>createH(string &str)
{
vector<int> res(26);
int i=0;
while(i<str.size())
{
res[str[i]-'a']++;
i++;
}
return res;
}
};
相關文章
- 【leetcode 49】【字母異位詞分組】LeetCode
- Leetcode_49_字母異位分組_mapLeetCode
- LeetCode 242 有效的字母異位詞(JAVA)LeetCodeJava
- 讓我們一起啃演算法----字母異位詞分組演算法
- 《雜湊表》242. 有效的字母異位詞《leetcode》LeetCode
- leetcode【每日一題】242. 有效的字母異位詞 javaLeetCode每日一題Java
- leedcode-有效的字母異位詞
- 438. 找到字串中所有字母異位詞字串
- LeetCode初級演算法之字串:242 有效的字母異位詞LeetCode演算法字串
- C語言重構【242】有效的字母異位詞C語言
- 438. 找到字串中所有字母異位詞(暴力,雙指標)2字串指標
- LeetCode 49. Group AnagramsLeetCode
- LeetCode|劍指 Offer 49.醜數LeetCode
- 漢字-字母-位元組-位之間的轉換
- leetcode日記17. 電話號碼的字母組合LeetCode
- leetcode刷題.763. 劃分字母區間.每日打卡LeetCode
- [CareerCup] 11.2 Sort Anagrams Array 異位詞陣列排序陣列排序
- pandas 分組合並欄位(qbit)
- list集合根據某欄位分組
- 分詞分詞
- MySQL GROUP BY分組取欄位最大值MySql
- SQL分組中WHERE和HAVING的異同SQL
- [LeetCode] Letter Combinations of a Phone Number 電話號碼的字母組合LeetCode
- HanLP分詞工具中的ViterbiSegment分詞流程HanLP分詞Viterbi
- #Elasticsearch中文分詞器 #IK分詞器 @FDDLCElasticsearch中文分詞
- 分詞-1分詞
- js將英文單詞首字母大寫效果JS
- CoffeeScript攻略3.6:大寫單詞首字母
- Python分詞模組推薦:jieba中文分詞PythonJieba中文分詞
- LeetCode 單詞拆分LeetCode
- LeetCode 經典面試題 //千分位隔數LeetCode面試題
- SQL 如何計算每個分組的中位數SQL
- Elasticsearch 分詞器Elasticsearch分詞
- mysql 求分組中位數、環比、同比、中位數的環比、同比MySql
- 如何解決資料庫分詞的拼寫糾正問題-PostgreSQLHunspell字典複數形容詞動詞等變異還原資料庫分詞SQL
- 分詞工具Hanlp基於感知機的中文分詞框架HanLP中文分詞框架
- [Leetcode]316.去除重複字母LeetCode
- 為什麼分庫分表使用2的N次方 一個位元組用兩位16進位制