设计并实现一个支持 O(1) 插入、删除和随机获取的数据结构。
Design and implement a data structure that supports O(1) insert, delete, and getRandom operations.
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
标签: cba, generated
目标公司: Commonwealth Bank of Australia
参考答案摘要
思路分析 结合 ArrayList 和 HashMap。ArrayList 存数据实现 O(1) 随机访问,HashMap 存值到索引的映射实现 O(1) 查找删除。 参考答案 Insert: 添加到数组末尾,记录索引。Delete: 将待删元素与末尾交换,更新映射,删除末尾。GetRandom: 随机索引访问数组。 评分要点 正确的数据结构选择 删除操作的交换技巧 所有操作 O(1) 的正确性 ...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。