1603. Design Parking System

Difficulty:
Related Topics:
Similar Questions:

    Problem

    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:

      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:

    Solution (Java)

    class ParkingSystem {
        private final int[] slots = new int[3];
    
        public ParkingSystem(int big, int medium, int small) {
            slots[0] = big;
            slots[1] = medium;
            slots[2] = small;
        }
    
        public boolean addCar(int carType) {
            if (carType == 1) {
                if (slots[0] > 0) {
                    slots[0]--;
                    return true;
                } else {
                    return false;
                }
            } else if (carType == 2) {
                if (slots[1] > 0) {
                    slots[1]--;
                    return true;
                } else {
                    return false;
                }
            } else {
                if (slots[2] > 0) {
                    slots[2]--;
                    return true;
                } else {
                    return false;
                }
            }
        }
    }
    
    /**
     * Your ParkingSystem object will be instantiated and called as such:
     * ParkingSystem obj = new ParkingSystem(big, medium, small);
     * boolean param_1 = obj.addCar(carType);
     */
    

    Explain:

    nope.

    Complexity: