zoukankan      html  css  js  c++  java
  • [LeetCode] 1603. Design Parking System

    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 12, 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. 

    Constraints:

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

    设计停车系统。

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

    请你实现 ParkingSystem 类:

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


    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/design-parking-system
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    这是一道设计题。思路是用三个变量分别追踪三种size的停车位到底还剩几个,如果被用完了就只能return false了。

    时间O(n)

    空间O(1) - 只有三个变量

    Java实现

     1 class ParkingSystem {
     2     int[] space;
     3 
     4     public ParkingSystem(int big, int medium, int small) {
     5         space = new int[] { big, medium, small };
     6     }
     7 
     8     public boolean addCar(int carType) {
     9         if (space[carType - 1]-- > 0) {
    10             return true;
    11         } else {
    12             return false;
    13         }
    14     }
    15 }
    16 
    17 /**
    18  * Your ParkingSystem object will be instantiated and called as such:
    19  * ParkingSystem obj = new ParkingSystem(big, medium, small);
    20  * boolean param_1 = obj.addCar(carType);
    21  */

    LeetCode 题目总结

  • 相关阅读:
    期末考试冬眠
    题解 P1457 【城堡 The Castle】
    题解 P1052 【过河】
    题解 P5663 【加工零件【民间数据】】
    与 macOS 10.12 兼容的OpenCV版本
    summarise() regrouping output 警告
    binary_crossentropy和BinaryCrossentropy的区别
    损失函数BinaryCrossentropy例子说明
    理解功能强大的sed替换命令
    理解GAN对抗神经网络的损失函数和训练过程
  • 原文地址:https://www.cnblogs.com/cnoodle/p/14559856.html
Copyright © 2011-2022 走看看