LeetCode简单题之设计停车系统
题目
请你给一个停车场设计一个停车系统。停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位。
请你实现 ParkingSystem 类:
ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 类,三个参数分别对应每种停车位的数目。
bool addCar(int carType) 检查是否有 carType 对应的停车位。 carType 有三种类型:大,中,小,分别用数字 1, 2 和 3 表示。一辆车只能停在 carType 对应尺寸的停车位中。如果没有空车位,请返回 false ,否则将该车停入车位并返回 true 。
示例 1:
输入:
[“ParkingSystem”, “addCar”, “addCar”, “addCar”, “addCar”]
[[1, 1, 0], [1], [2], [3], [1]]
输出:
[null, true, true, false, false]
解释:
ParkingSystem parkingSystem = new ParkingSystem(1, 1, 0);
parkingSystem.addCar(1); // 返回 true ,因为有 1 个空的大车位
parkingSystem.addCar(2); // 返回 true ,因为有 1 个空的中车位
parkingSystem.addCar(3); // 返回 false ,因为没有空的小车位
parkingSystem.addCar(1); // 返回 false ,因为没有空的大车位,唯一一个大车位已经被占据了
提示:
0 <= big, medium, small <= 1000
carType 取值为 1, 2 或 3
最多会调用 addCar 函数 1000 次
来源:力扣(LeetCode)
解题思路
非常简单的一道题,我们只需要维护三个变量即可。
class ParkingSystem:def __init__(self, big: int, medium: int, small: int):self.big=bigself.medium=mediumself.small=smalldef addCar(self, carType: int) -> bool:if carType==1:if self.big>0:self.big-=1return Trueelse:return Falseelif carType==2:if self.medium>0:self.medium-=1return Trueelse:return Falseelse:if self.small>0:self.small-=1return Trueelse:return False# Your ParkingSystem object will be instantiated and called as such:
# obj = ParkingSystem(big, medium, small)
# param_1 = obj.addCar(carType)
LeetCode简单题之设计停车系统相关推荐
- LeetCode简单题之设计 Goal 解析器
题目 请你设计一个可以解释字符串 command 的 Goal 解析器 .command 由 "G"."()" 和/或 "(al)" 按某种 ...
- leetcode 1603. 设计停车系统
请你给一个停车场设计一个停车系统.停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位. 请你实现 ParkingSystem 类: ParkingSystem(int big, ...
- 1603. 设计停车系统
请你给一个停车场设计一个停车系统.停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位. 请你实现 ParkingSystem 类: ParkingSystem(int big, ...
- LeetCode简单题之图片平滑器
题目 包含整数的二维矩阵 M 表示一个图片的灰度.你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽 ...
- LeetCode简单题之两数之和
题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组 ...
- LeetCode简单题之基于排列构建数组
题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...
- LeetCode简单题之Excel 表中某个范围内的单元格
题目 Excel 表中的一个单元格 (r, c) 会以字符串 "" 的形式进行表示,其中: 即单元格的列号 c .用英文字母表中的 字母 标识. 例如,第 1 列用 'A' 表示, ...
- LeetCode简单题之增量元素之间的最大差值
题目 给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 ...
- LeetCode简单题之二进制矩阵中的特殊位置
题目 给你一个大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊位置的数目 . 特殊位置 定义:如果 mat[i][j] == 1 ...
最新文章
- 如何获取js对象的对象名
- 【leetcode】1032. Stream of Characters
- vc动态生成按钮并响应
- Debug a Server–Side Rendered SAP Spartacus Storefront Using Chrome Dev Tools
- .Net开源微型ORM框架测评
- echart 高度 不用 不撑满_注意厨房台面高度及细节 装出省心舒服 装出事半功倍...
- 定制Android系统开发之二——系统服务
- 模仿笔迹最好的软件_模仿签名代写签字行业进入战国时代,乱战模式开启!
- 斗鱼php开发面经,斗鱼面经
- 纪念非线性光学诞生:Peter Franken和非线性光学
- 红米1s 一键root测试
- 近世代数--陪集--|左陪集|=|右陪集|
- DAY11:尚学堂高琪JAVA(116~118)
- 剑指Offer面试题22(Java版):栈的压入、弹出序列
- 元气骑士双人异地公网联机工具(仅支持双人、JAVA实现)
- Web前端开发 icon图标 转 web字体图标
- Zabbix监控系统系列之五:SNMP监控Windows客户端
- 一步步教你怎么用python写贪吃蛇游戏!
- Chromium 版本信息
- android8.0炉石闪退,【关注】炉石传说游戏中闪退返回登录界面问题