LeetCode-in-Java

1603. Design Parking System

Easy

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

public 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;
            }
        }
    }
}