Skip to main content

Summary

使用套路

哈希表一般用于计数问题,某某某的个数。可以将问题勇计数的方式解决,而不考虑其模拟实现的过程,相当于取巧。

使用模板

思考某某某的个数,解决这个问题需要统计 xxx 的个数。一般上,答案就是由哈希表统计出来的个数,或者累加之后的个数。

核心思想:将查找数据的时间复杂度由 O(n)O(n) 优化到 O(1)O(1)

也可以先找 A 出现的次数,若要求 A+B==kA + B == k 的数目,先累加 hash[A] 的数目,然后只需要累加 hash[B - k] 的数目即可。也就是知道一个数的数目,找另一个数的数目(转换一下式子)。

使用技巧

如果数据的数据范围太大可以使用 unordered_map 实现大于非整型或大整数的数据映射。