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简单题之矩阵对角线元素的
- 下一篇: LeetCode简单题之最近的请求次数