遇到的问题是在leetcode刷题的时候,使用了哈希表。基本上是一边修改哈希表一边查询哈希表。但是我的运行时间却特别慢。然后看了别人的代码,发现差别就是我在查询的时候直接用ans += hashmap[k]
这种方式,而别人都会先判断if (hashmap.count(k) > 0)
,然后再加到ans中。虽然我的做法结果不会出错,但是每次查询,都调用哈希表的operator()
运算符,那些本来不在哈希表中的数字并且以后也用不到的键都被插入了,于是需要开辟空间存储值,可能在某些时候由于冲突还需要重新调整哈希表映射。这都导致浪费了大量的时间和空间。
unordered_map查询的时候最好还是先使用count
最新推荐文章于 2023-12-02 12:12:27 发布