【LeetCode笔记】49. 字母异位词分组(Java、字符串、哈希表)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】49. 字母异位词分组(Java、字符串、哈希表)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 題目描述
- 代碼 & 思路
題目描述
- 考慮:如何把字母相同、排列不同的字符串組合成一個(gè)相同的、獨(dú)一無(wú)二的東西?
- 嘗試1:使用ascii的和(不行,雖然說(shuō)確實(shí)相同,但是獨(dú)一無(wú)二不滿(mǎn)足)
- 嘗試2:按序組合成字母 + 出現(xiàn)次數(shù)(可以,比如 aabcc => a2b1c2)
- 思路3:字母映射成質(zhì)數(shù),用質(zhì)數(shù)的乘法求解(貌似可以,不過(guò)沒(méi)有實(shí)際嘗試)
代碼 & 思路
- 用 嘗試2:按序組合成字母 + 出現(xiàn)次數(shù)(可以,比如 aabcc => a2b1c2)的方法
- 遍歷字符串?dāng)?shù)組,逐個(gè)轉(zhuǎn)化成類(lèi)似 a2b1c2 的形式。
- 通過(guò) HashMap 來(lái)判斷是否出現(xiàn)過(guò), O(1)
- 出現(xiàn)過(guò),則放入對(duì)應(yīng)的 ArrayList 中;
- 未出現(xiàn),則新建 ArrayList,并且 put <string s, index> 到 HashMap 中(維護(hù) hashmap)
總結(jié)
以上是生活随笔為你收集整理的【LeetCode笔记】49. 字母异位词分组(Java、字符串、哈希表)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【LeetCode笔记】剑指 Offer
- 下一篇: 【LeetCode笔记】54. 螺旋矩阵