题目大意
https://leetcode.com/problems/anagrams/
给你字符串数组,我们规定字符顺序变换的字符串为一组,输出所有组。
题目分析
利用HashMap,key为字符串排序后的结果(这样才能字符顺序不同的字符串的key值相同),value就是字符串数组就行。因此计算key的开销就是len * log(len),len为字符串的长度。看了disscuss区最优解法,由于字母只有26个,因此映射成26个素数,用素数的乘积做为key,也可以保证key的唯一合理性。下面贴出了我的原始的做法。
代码
|
|
时间复杂度:O(n len log(len)),n为数组长度,len为数组中字符串“平均”长度