2023-05-29 Daily Challenge
Today I have done leetcode's May LeetCoding Challenge with cpp.
May LeetCoding Challenge 29
Description
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 theParkingSystemclass. 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 ofcarTypefor the car that wants to get into the parking lot.carTypecan be of three kinds: big, medium, or small, which are represented by1,2, and3respectively. 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.
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 <= 1000carTypeis1,2, or3- At most
1000calls will be made toaddCar
Solution
auto speedup = [](){
cin.tie(nullptr);
cout.tie(nullptr);
ios::sync_with_stdio(false);
return 0;
}();
class ParkingSystem {
int parkingLot[4];
public:
ParkingSystem(int big, int medium, int small) {
parkingLot[1] = big;
parkingLot[2] = medium;
parkingLot[3] = small;
}
bool addCar(int carType) {
if(!parkingLot[carType]) return false;
parkingLot[carType] -= 1;
return true;
}
};
// Accepted
// 102/102 cases passed (46 ms)
// Your runtime beats 99.19 % of cpp submissions
// Your memory usage beats 99.71 % of cpp submissions (32.9 MB)