波波老师,关于49题的第二种按计数分类的方法

来源:4-5 灵活选择键值 4Sum II

v不离不弃v

2020-02-28

老师,您github里面49题的第二种方法,对于每个字符串,都可以将其转化为26个数字组成的数组,通过遍历每个字符串从而操作这个数组,只不过在哈希表里存储的是“数组”+“#”的模式,然后判断哈希表的key与之是否匹配就可以了呢?
我想问的是,为啥要数字+#号存呢,这个方法我几乎完全不可能想出来。。。。

写回答

1回答

liuyubobobo

2020-02-28

其实就是一个分隔符,因为问题中的单词字符串里只有小写字母,那我就选择使用 '#' 做分隔符。


实际上,使用 '@', '$', '%', '?', ';', 用什么做分隔符都行。


这就好像大多数程序语言的 statements 之间选择使用 ; 做分隔符一样。


继续加油!:)  

0
2
liuyubobobo
回复
缱绻091
每个字符的频率是一个数字,把这些数字按照组成一个字符串,中间用 # 分割,如果两个单词是 anagram,这个字符串一定相等,本质是这两个字符串每个字符的频率一定相等。使用几个测试用例,打印出我们对每个 key 计算出的这个字符串,研究一下?加油!:)
2020-03-03
共2条回复

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7410 学习 · 1150 问题

查看课程