题目

请你给一个停车场设计一个停车系统。停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位。
请你实现 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简单题之设计停车系统相关推荐

  1. LeetCode简单题之设计 Goal 解析器

    题目 请你设计一个可以解释字符串 command 的 Goal 解析器 .command 由 "G"."()" 和/或 "(al)" 按某种 ...

  2. leetcode 1603. 设计停车系统

    请你给一个停车场设计一个停车系统.停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位. 请你实现 ParkingSystem 类: ParkingSystem(int big, ...

  3. 1603. 设计停车系统

    请你给一个停车场设计一个停车系统.停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位. 请你实现 ParkingSystem 类: ParkingSystem(int big, ...

  4. LeetCode简单题之图片平滑器

    题目 包含整数的二维矩阵 M 表示一个图片的灰度.你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽 ...

  5. LeetCode简单题之两数之和

    题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组 ...

  6. LeetCode简单题之基于排列构建数组

    题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...

  7. LeetCode简单题之Excel 表中某个范围内的单元格

    题目 Excel 表中的一个单元格 (r, c) 会以字符串 "" 的形式进行表示,其中: 即单元格的列号 c .用英文字母表中的 字母 标识. 例如,第 1 列用 'A' 表示, ...

  8. LeetCode简单题之增量元素之间的最大差值

    题目 给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 ...

  9. LeetCode简单题之二进制矩阵中的特殊位置

    题目 给你一个大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊位置的数目 . 特殊位置 定义:如果 mat[i][j] == 1 ...

最新文章

  1. 如何获取js对象的对象名
  2. 【leetcode】1032. Stream of Characters
  3. vc动态生成按钮并响应
  4. Debug a Server–Side Rendered SAP Spartacus Storefront Using Chrome Dev Tools
  5. .Net开源微型ORM框架测评
  6. echart 高度 不用 不撑满_注意厨房台面高度及细节 装出省心舒服 装出事半功倍...
  7. 定制Android系统开发之二——系统服务
  8. 模仿笔迹最好的软件_模仿签名代写签字行业进入战国时代,乱战模式开启!
  9. 斗鱼php开发面经,斗鱼面经
  10. 纪念非线性光学诞生:Peter Franken和非线性光学
  11. 红米1s 一键root测试
  12. 近世代数--陪集--|左陪集|=|右陪集|
  13. DAY11:尚学堂高琪JAVA(116~118)
  14. 剑指Offer面试题22(Java版):栈的压入、弹出序列
  15. 元气骑士双人异地公网联机工具(仅支持双人、JAVA实现)
  16. Web前端开发 icon图标 转 web字体图标
  17. Zabbix监控系统系列之五:SNMP监控Windows客户端
  18. 一步步教你怎么用python写贪吃蛇游戏!
  19. Chromium 版本信息
  20. android8.0炉石闪退,【关注】炉石传说游戏中闪退返回登录界面问题

热门文章

  1. 2022-2028年中国廉价航空行业深度调研及投资前景预测报告
  2. 安装 sklearn 报错 ImportError: cannot import name Type
  3. 电脑蓝屏问题检查、解决、
  4. 谷粒商城学习笔记——第一期:项目简介
  5. JIT Compiler编译器
  6. NVIDIA 自动驾驶软件平台
  7. 画笔Paint的使用
  8. 2021年大数据常用语言Scala(九):基础语法学习 break和continue
  9. 浅谈MySQL中utf8和utf8mb4的区别
  10. python join 的使用