当前位置: 首页 > article >正文

O(1) 时间插入、删除和获取随机元素——面试经典150题(力扣)

题目

实现RandomizedSet 类:

  • RandomizedSet() 初始化 RandomizedSet 对象
  • bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。
  • bool remove(int val) 当元素 val 存在时,从集合中移除该项,并返回 true ;否则,返回 false 。
  • int getRandom() 随机返回现有集合中的一项(测试用例保证调用此方法时集合中至少存在一个元素)。每个元素应该有 相同的概率 被返回。

你必须实现类的所有函数,并满足每个函数的 平均 时间复杂度为 O(1) 。

示例:

输入
["RandomizedSet", "insert", "remove", "insert", "getRandom", "remove", "insert", "getRandom"]
[[], [1], [2], [2], [], [1], [2], []]
输出
[null, true, false, true, 2, true, false, 2]


http://www.kler.cn/a/592877.html

相关文章:

  • OpenHarmony 框架层电池相关重要类解析
  • 【论文阅读】MMedPO: 用临床感知多模态偏好优化调整医学视觉语言模型
  • Vitis 2024.1 无法正常编译custom ip的bug(因为Makefile里的wildcard)
  • 【计算机网络】TCP粘包、拆包的机制
  • ChatGPT与深度学习:探索人工智能的核心技术
  • 虚幻基础:ue自定义类
  • 【css酷炫效果】纯CSS实现大风车旋转效果
  • vulhub Matrix-Breakout
  • html5制作2048游戏开发心得与技术分享
  • SAP 附件增删改查与文件服务器交互应用
  • 机器学习概要
  • 基于springboot的网上订餐系统(006)
  • MongoDB处理动态字段
  • ADB三个模块介绍
  • 开源 FormCreate 表单设计器配置组件的多语言
  • Nginx 目录浏览功能显示的日期格式设置为数字
  • 功能强大的免费 PDF 处理工具套装
  • 在C#的MVC框架framework项目的使用ajax,及源码下载
  • 从0到1掌握TypeScript:开启编程新视野
  • python strip/rstrip/lstrip详细讲解(涵盖许多例子、作用以及复杂行为处理)