学习笔记
-
有效的字母异位词 创建哈希表计数字符出现次数。先统计源字符串字符出现次数到哈希表,然后再用目标字符串去哈希表中与每个字符次数抵消。 如果最终哈希表所有字符统计结果为0,表示两个字符串为异位词。 时间复杂度O(n),空间复杂度O(n)
-
字母异位词分组 同一组异位词具有相同的字符特征,如果根据字符特征创建哈希表,同一组异位词应落入哈希表同一槽内。 为题也就转化为如何设计哈希算法,将同组异位词转化为相同的key。 可以有两种实现: 方法1:将字符串内部字符排序 方法2:将字符串字符在26个字母中出现次数映射成数字字符串 当字符串普遍较长时,方法1内部排序较耗时,生成key的平均效率可能低于方法2 当字符串普遍较短时,方法2生成的key较长,在哈希表中操作的时间、空间效率可能不如方法1