【发布时间】:2011-08-06 15:15:20
【问题描述】:
我在一次采访中遇到了这个问题。你会怎么回答?
设计一个在 O(1) 时间内提供以下操作的数据结构:
- 插入
- 移除
- 包含
- 获取随机元素
【问题讨论】:
-
我们可以假设对数据种类有额外的限制吗?就像没有重复,等等。
-
当然,没有重复,您甚至可以使用 java 或 c# 等语言中的内置数据结构。
-
我注意到没有规范 re:ordered/unordered
-
我知道这篇文章已经得到答复,但是对我来说,如果他们希望您提供 o(1) 随机访问而不是获取随机元素,这将更有意义。
-
您找到正确的解决方案了吗?
标签: data-structures