winter (@winterchenhuan)重新学习一下算法 中发帖

现在每天都用 AI 写代码,想想把算法重新学习一下,以前也一直没有完整练习过。 
先学习哈希表相关的,哈希表可以在常数时间内找到对应元素。

遇到无序两数之和场景,适合使用哈希表快速找到 target 减去另外一个数,从而替换双层循序。
单词异位的场景,适合使用哈希表存储每个单词和单词出现次数,具体算法:

先比对单词长度是否长度一致,如果一致则先遍历其中一个单词构建哈希表。
然后遍历另外一个单词看是否在哈希表中存在,如果存在则计数减一,如果计数小于 0 则说明不是异位。
遍历完没有退出说明是异位单词。


单词异位分组的场景,使用排序后的单词异位做哈希表的 key,如果哈希表存在 key,则把该单词放到 value 列表。