Summary
使用套路
哈希表一般用于计数问题,某某某的个数。可以将问题勇计数的方式解决,而不考虑其模拟实现的过程,相当于取巧。
使用模板
思考某某某的个数,解决这个问题需要统计 xxx 的个数。一般上,答案就是由哈希表统计出来的个数,或者累加之后的个数。
核心思想:将查找数据的时间复杂度由 O(n) 优化到 O(1)
也可以先找 A 出现的次数,若要求 A+B==k 的数目,先累加 hash[A]
的数目,然后只需要累加 hash[B - k]
的数目即可。也就是知道一个数的数目,找另一个数的数目(转换一下式子)。
使用技巧
如果数据的数据范围太大可以使用 unordered_map 实现大于非整型或大整数的数据映射。