摘要:
这道题有个限制在常数时间范围内实现插入删除和获得随机数操作,没有该限制的话直接用一个HashSet就可以搞定。我们利用一个可变list和一个HashMap,其中list用来保存数字,HashMap用来建立每个数字和其在list中的位置之间的映射。重点在于删除元素的逻辑,如果要删除的元素不存在返回false,如果存在,先求出该元素在list中的索引,将list中最后一个元素更新到此位置,同时更新该元素中在hashmap的索引,然后list中删除最后一个元素,hashmap也删除要删除的元素 。 阅读全文
![leetcode 380. Insert Delete GetRandom O(1) O(1) 时间插入、删除和获取随机元素 (中等)](https://img2022.cnblogs.com/blog/588675/202210/588675-20221018230817934-2022549260.png)