LeetCode 1845. 座位预约管理系统(set)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

请你设计一个管理 n 个座位预约的系统,座位编号从 1 到 n 。

请你实现 SeatManager 类:

  • SeatManager(int n) 初始化一个 SeatManager 对象,它管理从 1 到 n 编号的 n 个座位。所有座位初始都是可预约的。
  • int reserve() 返回可以预约座位的 最小编号 ,此座位变为不可预约。
  • void unreserve(int seatNumber) 将给定编号 seatNumber 对应的座位变成可以预约。
示例 1:
输入:
["SeatManager", "reserve", "reserve", "unreserve", "reserve", "reserve", "reserve", "reserve", "unreserve"]
[[5], [], [], [2], [], [], [], [], [5]]
输出:
[null, 1, 2, null, 2, 3, 4, 5, null]解释:
SeatManager seatManager = new SeatManager(5); // 初始化 SeatManager ,有 5 个座位。
seatManager.reserve();    // 所有座位都可以预约,所以返回最小编号的座位,也就是 1 。
seatManager.reserve();    // 可以预约的座位为 [2,3,4,5] ,返回最小编号的座位,也就是 2 。
seatManager.unreserve(2); // 将座位 2 变为可以预约,现在可预约的座位为 [2,3,4,5] 。
seatManager.reserve();    // 可以预约的座位为 [2,3,4,5] ,返回最小编号的座位,也就是 2 。
seatManager.reserve();    // 可以预约的座位为 [3,4,5] ,返回最小编号的座位,也就是 3 。
seatManager.reserve();    // 可以预约的座位为 [4,5] ,返回最小编号的座位,也就是 4 。
seatManager.reserve();    // 唯一可以预约的是座位 5 ,所以返回 5 。
seatManager.unreserve(5); // 将座位 5 变为可以预约,现在可预约的座位为 [5] 。提示:
1 <= n <= 10^5
1 <= seatNumber <= n
每一次对 reserve 的调用,题目保证至少存在一个可以预约的座位。
每一次对 unreserve 的调用,题目保证 seatNumber 在调用函数前都是被预约状态。
对 reserve 和 unreserve 的调用 总共 不超过 10^5 次。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/seat-reservation-manager
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class SeatManager {set<int> seats;
public:SeatManager(int n) {for(int i = 1; i <= n; ++i)seats.insert(i);}int reserve() {int id = *seats.begin();// set 有序,最小的可用座位seats.erase(*seats.begin());// 座位被使用return id;}void unreserve(int seatNumber) {seats.insert(seatNumber); // 座位可用}
};

752 ms 171.3 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472286.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity game和scene效果不一样_不同的真石漆装饰效果也是不一样的

外墙真石漆真的是一件很好的产品&#xff0c;具有防火性、防水性、安全且环保、粘力强、永不褪色等特点&#xff0c;无疑是人们较好的选择&#xff0c;在很早之前就已经逐渐的取代了瓷砖和其他石材在人们心中的位置。真石漆的品种不止一种&#xff0c;按照装饰效果我们可以分为…

噪声产生原因_空调噪声大?啄木鸟家庭维修,看看属于哪一个问题

夏天终于要结束了&#xff0c;我只想安静的睡一个好觉。这个夏天中&#xff0c;楼上的空调每夜不休不眠的工作着&#xff0c;可这个空调为什么运作时的声音这么“巨大”。“轰轰轰……”&#xff0c;楼层都似乎和它产生了共振。而每晚的我&#xff0c;反反复复努力入睡&#xf…

05-按钮的基本使用-开发步骤

从Xcode5开始&#xff0c;图片资源都放到Images.xcassets中进行管理先添加必须的图片到Images.xcassets中调整界面尺寸 由于模拟器的默认尺寸是3.5inch&#xff0c;为了避免出现不必要的麻烦&#xff0c;最好将storyboard中的UI界面尺寸也调整为3.5inch添加4个方向按钮和2个缩放…

【机器学习】sklearn数据特征预处理:归一化和标准化

归一化处理 特点&#xff1a;通过对原始数据进行变换把数据映射到(默认为[0,1])之间 from sklearn.preprocessing import MinMaxScaler def mm():"""归一化处理:return: NOne"""mm MinMaxScaler(feature_range(2,3))data mm.fit_transform(…

LeetCode 1848. 到目标元素的最小距离

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums &#xff08;下标 从 0 开始 计数&#xff09;以及两个整数 target 和 start &#xff0c;请你找出一个下标 i &#xff0c;满足 nums[i] target 且 abs(i - start) 最小化 。注意&#xff1a;abs(x) 表示 x 的绝对值。…

python环境变量的运用_Windows下python环境变量配置

默认情况下&#xff0c;在windows下安装python之后&#xff0c;系统并不会自动添加相应的环境变量。此时不能在命令行直接使用python命令。1. 首先需要在系统中注册python环境变量&#xff1a;假设python的安装路径为c:\python2.6&#xff0c;则修改我的电脑->属性->高级…

python拆分合并文件_Python 视频文件的分割和合并

import os; import time; os.system(start "wmplayer.exe", "F:\\abc.mp4"); --分割代码 start---- import sys,os; kilobytes 1024; megabytes kilobytes*1024; chunksize int(10*megabytes); def split(fromfile,todir,chunksizechunksize): if not o…

[笔记]Go语言写文件几种方式性能对比

Go语言中写文件有多种方式&#xff0c;这里进行如下几种方式的速度对比&#xff1a; 打开文件&#xff0c;写入内容&#xff0c;关闭文件。如此重复多次打开文件&#xff0c;写入内容&#xff0c;defer 关闭文件。如此重复多次打开文件&#xff0c;重复多次写入内容&#xff0c…

【机器学习】sklearn数据集获取、分割、分类和回归

sklearn数据集1、数据集划分1.1 获取数据1.2 获取数据返回的类型举个栗子&#xff1a;1.3 对数据集进行分割举个栗子&#xff1a;2、 sklearn分类数据集3、 sklearn回归数据集1、数据集划分 机器学习一般的数据集会划分为两个部分&#xff1a; 训练数据&#xff1a;用于训练&a…

LeetCode 1846. 减小和重新排列数组后的最大元素

文章目录1. 题目2. 解题1. 题目 给你一个正整数数组 arr 。请你对 arr 执行一些操作&#xff08;也可以不进行任何操作&#xff09;&#xff0c;使得数组满足以下条件&#xff1a; arr 中 第一个 元素必须为 1 。任意相邻两个元素的差的绝对值 小于等于 1 &#xff0c;也就是…

ftp可以传输什么类型文件_FTP文件传输工具-ForkLift for Mac

orklift mac版是一款运行在Mac平台上的FTP文件传输工具。ForkLift拥有经典的两栏界面布局&#xff0c;简洁小巧。且支持FTP&#xff0c;SFTP&#xff0c;WebDAV&#xff0c;S3&#xff0c;iDisk&#xff0c;SMB&#xff0c;AFP和NIS协议&#xff0c;可以方便用户对本地以及远程…

1过程流程图 3 apqp_为什么过程开发的平面布置图要遵循精益原则?

今日话题为什么过程开发的平面布置图要遵循精益原则&#xff1f;问为什么过程开发的平面布置图要遵循精益原则&#xff1f;答工艺工程师根据过程流程图制定平面布置图&#xff0c;采用精益制造的原则&#xff0c;对加工与装配工位、物流路线、存储位置进行规划&#xff0c;以确…

把Scala代码当作脚本运行

1. 在类UNIX系统上作为脚本运行 在类Unix系统上&#xff0c;你可以设置一个shell前导词来执行脚本。如下例&#xff1a; Script.scala #!/usr/bin/env scala !# println("Hello" args(0)) 先输入chmod x Script.scala&#xff0c;确保对Script.scala文件有执行权限。…

LeetCode 1847. 最近的房间(排序离线计算 + 二分查找)

文章目录1. 题目2. 解题1. 题目 一个酒店里有 n 个房间&#xff0c;这些房间用二维整数数组 rooms 表示&#xff0c;其中 rooms[i] [roomIdi, sizei] 表示有一个房间号为 roomIdi 的房间且它的面积为 sizei 。每一个房间号 roomIdi 保证是 独一无二 的。 同时给你 k 个查询&…

用python写一个手机app签到脚本_利用Python实现App自动签到领取积分

要自动签到&#xff0c;最简单的是打开页面分析请求&#xff0c;然后我们用脚本实现请求的自动化。但是发现食行没有页面&#xff0c;只有 APP&#xff0c;这不是一个好消息&#xff0c;这意味着需要抓包处理了。有需要Python学习资料的小伙伴吗?小编整理【一套Python资料、源…

el表达式 循环_EL表达式和JSTL标签库(百战程序员047天)

1.EL表达式介绍&#xff1a;是一种非常简洁的表达式&#xff0c;语法简单&#xff0c;便于使用&#xff0c;灵感来源于ECMAScript和Xpath的表达式语言样式&#xff1a;${表达式}作用&#xff1a;简化jsp中获取作用域或者请求数据的写法。获取请求数据EL表达式1)获取请求数据(1)…

【机器学习】sklearn k-近邻算法

sklearn k-近邻算法1. sklearn k-近邻算法API2. k近邻算法实例-预测入住位置核心思想&#xff1a;你的“邻居”来推断出你的类别定义&#xff1a;如果一个样本在特征空间中的 k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别&#xff0c;则该样本也属于这个类别。…

openresty package.path require 报错

在文件中 package.path /usr/local/share/lua/5.1/?.lua;/usr/local/openresty/lualib/resty/?.lua; package.cpath /usr/local/lib/lua/5.1/?.so;执行local mysql require "mysql" --正确local mysql require "resty.mysql" --报错去掉 package.pa…

LeetCode 1849. 将字符串拆分为递减的连续值(回溯)

文章目录1. 题目2. 解题1. 题目 给你一个仅由数字组成的字符串 s 。 请你判断能否将 s 拆分成两个或者多个 非空子 字符串 &#xff0c;使子字符串的 数值 按 降序 排列&#xff0c;且每两个 相邻子字符串 的数值之 差 等于 1 。 例如&#xff0c;字符串 s "0090089&q…

axure选中后横线切换_Axure8.0|动态面板内容简单切换技巧

无论做web段还是移动端&#xff0c;常常会用到动态面板固定在某个区域来变换内容&#xff0c;达到节省空间的作用&#xff0c;今天分享的就是如何实现这种方式。预览效果&#xff1a;一、元件准备以IT/互联网、设计创作、职场金融这三组为例&#xff0c;所涉及到的元件分别为it…