Design Parking System - Design - Easy - LeetCode
💻 coding

Design Parking System - Design - Easy - LeetCode

2 min read 347 words
2 min read
ShareWhatsAppPost on X
  • 1The ParkingSystem class manages a parking lot with three types of spaces: big, medium, and small.
  • 2The constructor initializes the number of available slots for each car type.
  • 3The addCar method checks availability and parks the car if a suitable space exists.

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The ParkingSystem class manages a parking lot with three types of spaces: big, medium, and small."

Design Parking System - Design - Easy - LeetCode

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.

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 <= 1000 carType is 1, 2, or 3 At most 1000 calls will be made to addCar

public class ParkingSystem {

 int bigRemaining = 0;
 int mediumRemaining = 0;
 int smallRemaining = 0;
 public ParkingSystem(int big, int medium, int small) {
 bigRemaining = big;
 mediumRemaining = medium;
 smallRemaining = small;
 }
 
 public bool AddCar(int carType) {
 switch(carType){
 case 1:
 if(bigRemaining == 0){
 return false;
 }
 bigRemaining--;
 break;
 case 2:
 if(mediumRemaining == 0){
 return false;
 }
 mediumRemaining--;
 break;
 case 3:
 if(smallRemaining == 0){
 return false;
 }
 smallRemaining--;
 break;
 }
 
 return true;
 }
}

/**
 * Your ParkingSystem object will be instantiated and called as such:
 * ParkingSystem obj = new ParkingSystem(big, medium, small);
 * bool param_1 = obj.AddCar(carType);
 */

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 15 October 2020 · 2 min read · 347 words

Part of AskGif Blog · coding

You might also like

Design Parking System - Design - Easy - LeetCode | AskGif Blog