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(int big, int medium, int small) Initializes object of theParkingSystem 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 ofcarType for the car that wants to get into the parking lot.carType can be of three kinds: big, medium, or small, which are represented by1 ,2 , and3 respectively. A car can only park in a parking space of itscarType . If there is no space available, returnfalse , else park the car in that size space and returntrue .
"ParkingSystem": [1, 1, 0]
"addCar" : [1]
"addCar" : [2]
"addCar" : [3]
"addCar" : [1]
Output:
Operation 1 "addCar" : true
Operation 2 "addCar" : true
Operation 3 "addCar" : false
Operation 4 "addCar" : false
Explanation:
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. (available one already occupied)
Constraints:
0 <= big, medium, small <= 1000 carType is1 ,2 , or3 - At most
1000 calls will be made toaddCar
Contents
Solution 1 - Using a temporary array to store initial count of parking slots
Complexity Analysis:
Time complexity: Above code runs in O(1) time, because there are only 3 types of car parking slots in the problem.
Space complexity: O(1), since we are only creating a temporary array with size 3.
Above implementations source code can be found at