【leetcode】1603. 设计停车系统(design-parking-system)(模拟)[简单]

链接

https://leetcode-cn.com/problems/design-parking-system/

耗时

解题:6 min
题解:2 min

题意

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

请你实现 ParkingSystem 类:

  • ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 类,三个参数分别对应每种停车位的数目。
  • bool addCar(int carType) 检查是否有 carType 对应的停车位。 carType 有三种类型:大,中,小,分别用数字 1, 2 和 3 表示。一辆车只能停在 carType 对应尺寸的停车位中。如果没有空车位,请返回 false ,否则将该车停入车位并返回 true 。

提示:

  • 0 <= big, medium, small <= 1000
  • carType 取值为 1, 2 或 3
  • 最多会调用 addCar 函数 1000 次

思路

详见代码。

时间复杂度: O ( n ) O(n) O(n)

AC代码

class ParkingSystem {
private:
    int parking[3] = {0};
public:
    ParkingSystem(int big, int medium, int small) {
        parking[0] = big;
        parking[1] = medium;
        parking[2] = small;
    }
    
    bool addCar(int carType) {
        if(parking[carType-1] > 0) {
            parking[carType-1]--;
            return true;
        }
        return false;
    }   
};

/**
 * Your ParkingSystem object will be instantiated and called as such:
 * ParkingSystem* obj = new ParkingSystem(big, medium, small);
 * bool param_1 = obj->addCar(carType);
 */
上一篇:CSS之清除浮动的最常用的四种方法,以及优缺点


下一篇:mask_rcnn调用训练好的模型