当前位置:网站首页>LeetCode 2336. 无限集中的最小数字(SortedSet)
LeetCode 2336. 无限集中的最小数字(SortedSet)
2022-08-02 17:48:00 【Michael阿明】
1. 题目
现有一个包含所有正整数的集合 [1, 2, 3, 4, 5, …] 。
实现 SmallestInfiniteSet 类:
SmallestInfiniteSet()初始化SmallestInfiniteSet对象以包含 所有 正整数。int popSmallest()移除 并返回该无限集中的最小整数。void addBack(int num)如果正整数 num 不 存在于无限集中,则将一个 num 添加 到该无限集中。
示例:
输入
["SmallestInfiniteSet", "addBack", "popSmallest", "popSmallest", "popSmallest", "addBack", "popSmallest", "popSmallest", "popSmallest"]
[[], [2], [], [], [], [1], [], [], []]
输出
[null, null, 1, 2, 3, null, 1, 4, 5]
解释
SmallestInfiniteSet smallestInfiniteSet = new SmallestInfiniteSet();
smallestInfiniteSet.addBack(2); // 2 已经在集合中,所以不做任何变更。
smallestInfiniteSet.popSmallest(); // 返回 1 ,因为 1 是最小的整数,并将其从集合中移除。
smallestInfiniteSet.popSmallest(); // 返回 2 ,并将其从集合中移除。
smallestInfiniteSet.popSmallest(); // 返回 3 ,并将其从集合中移除。
smallestInfiniteSet.addBack(1); // 将 1 添加到该集合中。
smallestInfiniteSet.popSmallest(); // 返回 1 ,因为 1 在上一步中被添加到集合中,
// 且 1 是最小的整数,并将其从集合中移除。
smallestInfiniteSet.popSmallest(); // 返回 4 ,并将其从集合中移除。
smallestInfiniteSet.popSmallest(); // 返回 5 ,并将其从集合中移除。
提示:
1 <= num <= 1000
最多调用 popSmallest 和 addBack 方法 共计 1000 次
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/smallest-number-in-infinite-set
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 使用有序set,插入数据后会自动排序
from sortedcontainers import SortedSet
class SmallestInfiniteSet:
def __init__(self):
self.s = SortedSet(range(1, 1001))
def popSmallest(self) -> int:
return self.s.pop(0)
def addBack(self, num: int) -> None:
self.s.add(num)
232 ms 16.3 MB Python3
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
边栏推荐
猜你喜欢

深圳地铁16号线二期进入盾构施工阶段,首台盾构机顺利始发

Security First: Tools You Need to Know to Implement DevSecOps Best Practices

How a "cloud" can bring about new changes in the industry

2022安全员-C证考试题库模拟考试平台操作

Navicat 连接Oracle时提示oracle library is not loaded的问题解决

NeRF:火爆科研圈的三维重建技术大揭秘

2022高压电工特种作业证考试题库及答案

企业云成本管控,你真的做对了吗?

Smart Microelectronics Releases Low-Power MM32L0130 Series MCU Products

小程序毕设作品之微信体育馆预约小程序毕业设计成品(8)毕业设计论文模板
随机推荐
Gear 月度更新|6 月
分布式 | dble 启动的时候做了什么之配置检测
POE交换机常见问题解答
灵动微电子发布低功耗 MM32L0130 系列 MCU 产品
cpolar应用实例之多设备数据采集
白话电子签章原理及风险
C#里如何简单的校验时间格式
如何应对机器身份带来的安全风险
多聚体/壳聚糖修饰白蛋白纳米球/mPEG-HSA聚乙二醇人血清白蛋白纳米球的制备与研究
shell中awk命令的if条件语句引入外置变量
What is the difference between erp system and wms system
Navicat 连接Oracle时提示oracle library is not loaded的问题解决
Code Inspection for DevOps
2022最新版SSM源码分析:一套教程助你深入理解底层原理,提高核心竞争力!
HDF驱动框架的API(1)
Flink学习9:配置idea开发flink-Scala程序环境
【秒杀办法】根据二叉树的先序遍历、中序遍历、后序遍历快速创建二叉树
企业云成本管控,你真的做对了吗?
【案例】2D变换-旋转动画
golang刷leetcode 经典(2)拓扑排序