101道算法JavaScript描述【二叉树】6

常数时间内插入删除、获得随机数

设计一个支持在平均 时间复杂度 O(1)O(1) 下,执行以下操作的数据结构。

insert(val):当元素 val 不存在时,向集合中插入该项。 remove(val):元素 val 存在时,从集合中移除该项。 getRandom:随机返回现有集合中的一项。每个元素应该有相同的概率被返回。

示例

// 初始化一个空的集合。
RandomizedSet randomSet = new RandomizedSet();

// 向集合中插入 1 。返回 true 表示 1 被成功地插入。
randomSet.insert(1);

// 返回 fa

猜你喜欢

转载自blog.csdn.net/weixin_51568389/article/details/125875367