5

问答题 5 /13

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

参考答案

设计合理即可,下面是一个参考思路:
• 插入、删除、最大、最小:使用set实现,复杂度O(logn)
• 如何实现random 使用数组,将所有数据放入数组中,random时随机返回数组元素
• 记录每个元素在数组中的下标 • 删除时首先将对应元素和最后一个元素交换,删除最后一个元素 复杂度O(1)
牛客网,程序员必备求职神器
QQ群:169195721
微 信:www_nowcoder_com 关注
微 博:牛客网 关注

扫一扫,把题目装进口袋