[LeetCode] Design Parking System

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 1, 2, 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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class ParkingSystem {
int b, m, s;
public:
ParkingSystem(int big, int medium, int small): b(big), m(medium), s(small) {

}

bool addCar(int carType) {
if(carType == 3 and s) {
s--;
return true;
} else if(carType == 2 and m) {
m--;
return true;
} else if(carType == 1 and b) {
b--;
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);
*/
Author: Song Hayoung
Link: https://songhayoung.github.io/2022/03/08/PS/LeetCode/design-parking-system/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.