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
- Q25 LeetCode49 字母異位詞分組LeetCode
- Leetcode_49_字母異位分組_mapLeetCode
- LeetCode 242 有效的字母異位詞(JAVA)LeetCodeJava
- Leetcode——242:有效字母的異位詞LeetCode
- Q23 LeetCode242 字母異位詞LeetCode
- 有效的字母異位詞
- 《雜湊表》242. 有效的字母異位詞《leetcode》LeetCode
- 讓我們一起啃演算法----字母異位詞分組演算法
- leetcode【每日一題】242. 有效的字母異位詞 javaLeetCode每日一題Java
- leedcode-有效的字母異位詞
- 242. 有效的字母異位詞
- 1202-有效字母異位詞
- LeetCode初級演算法之字串:242 有效的字母異位詞LeetCode演算法字串
- 2024/12/3 【雜湊表】 LeetCode 242.有效的字母異位詞 【x】LeetCode
- 每日一練(44):有效的字母異位詞
- 438. 找到字串中所有字母異位詞字串
- C語言重構【242】有效的字母異位詞C語言
- LeetCode 49. Group AnagramsLeetCode
- 438. 找到字串中所有字母異位詞(暴力,雙指標)2字串指標
- LeetCode|劍指 Offer 49.醜數LeetCode
- 分組異或
- 程式碼隨想錄演算法訓練營第六天| leetcode242.有效的字母異位詞、leetcode349.兩個陣列的交集、leetcode202.快樂數、leetcode1.兩數之和演算法LeetCode陣列
- 有效的字母移位詞
- 漢字-字母-位元組-位之間的轉換
- leetcode刷題.763. 劃分字母區間.每日打卡LeetCode
- SQL-分組聚合 - 單欄位分組SQL
- leetcode日記17. 電話號碼的字母組合LeetCode
- HanLP分類模組的分詞器介紹HanLP分詞
- SqlServer根據特定欄位分組後,對需要欄位進行分組拼接SQLServer
- Day 6| 242.有效的字母異位詞 、349. 兩個陣列的交集 、 202. 快樂數 、 1. 兩數之和陣列
- [Leetcode]316.去除重複字母LeetCode
- LeetCode 單詞拆分LeetCode
- pandas 分組合並欄位(qbit)
- leetcode 316.去除重複字母 JavaLeetCodeJava
- 位右移 字母大小寫全排列
- list集合根據某欄位分組
- 分詞分詞