leetcode 1603. Design Parking System(python)

该博客讨论了一个停车场系统的设计,包括大、中、小三种类型的停车位。系统需能检查是否有对应类型车位,并能添加车辆。实现了一个ParkingSystem类,包含初始化车位数量和添加车辆的方法。示例展示了如何使用该系统,当车位满时,车辆无法再进入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述

Design a parking system for a parking lot. The parking lot has three kinds of parking spaces: big, medium, and small, with a fixed number of slots for each size.

Implement the ParkingSystem class:

ParkingSystem(int big, int medium, int small) Initializes object of the ParkingSystem class. The number of slots for each parking space are given as part of the constructor.
bool addCar(int carType) Checks whether there is a parking space of carType for the car that wants to get into the parking lot. carType can be of three kinds: big, medium, or small, which are represented by 1, 2, and 3 respectively. A car can only park in a parking space of its carType. If there is no space available, return false, else park the car in that size space and return true.

Example 1:

Input
["ParkingSystem", "addCar", "addCar", "addCar", "addCar"]
[[1, 1, 0], [1], [2], [3], [1]]
Output
[null, true, true, false, false]

Explanation
ParkingSystem parkingSystem = new ParkingSystem(1, 1, 0);
parkingSystem.addCar(1); // return true because there is 1 available slot for a big car
parkingSystem.addCar(2); // return true because there is 1 available slot for a medium car
parkingSystem.addCar(3); // return false because there is no available slot for a small car
parkingSystem.addCar(1); // return false because there is no available slot for a big car. It is already occupied.	

Note:

0 <= big, medium, small <= 1000
carType is 1, 2, or 3
At most 1000 calls will be made to addCar

解析

根据题意,只要每次在停车场有大中小三种车位,每种有对应的数量,每次停车的时候,只需要判断对应类型的车位还有空位,如果有则返回 True ,如果没有则返回 False 。所以打着 EASY 标签的长题目都是纸脑斧!

解答

class ParkingSystem(object):
    def __init__(self, big, medium, small):
        """
        :type big: int
        :type medium: int
        :type small: int
        """
        self.big = big
        self.medium = medium
        self.small = small
        self.res = []

    def addCar(self, carType):
        """
        :type carType: int
        :rtype: bool
        """
        if carType==1:
            if self.big>0:
                self.big -= 1
                return True
            else:
                return False
        elif carType==2:
            if self.medium>0:
                self.medium -= 1
                return True
            else:
                return False
        elif carType==3:
            if self.small>0:
                self.small -= 1
                return True
            else:
                return False

运行结果

Runtime: 136 ms, faster than 31.05% of Python online submissions for Design Parking System.
Memory Usage: 14 MB, less than 37.44% of Python online submissions for Design Parking System.

原题链接:https://leetcode.com/problems/design-parking-system/

您的支持是我最大的动力

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王大丫丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值