Insert Delete GetRandom O(1)
Design a data structure that supports all following operations in average O(1) time.
insert(val)
: Inserts an item val to the set if not already present.remove(val)
: Removes an item val from the set if present.getRandom
: Returns a random element from current set of elements. Each element must have the same probability of being returned.d
Example:
1 | // Init an empty set. |
思路:想到了利用set,主要要解决的是返回随机值得问题,调用random函数即可。
1 | class RandomizedSet { |