2

问答题 2 /10

设计一个数据结构,能够支持插入、删除、返回最大值、最小值、随机返回一个数的操作

参考答案

设计合理即可,下面是一个参考思路:
• 插入、删除、最大、最小:使用set实现,复杂度O(logn)
• 如何实现random 使用数组,将所有数据放入数组中,random时随机返回数组元素
• 记录每个元素在数组中的下标 • 删除时首先将对应元素和最后一个元素交换,删除最后一个元素 复杂度O(1)