Problem
Design Parking System - LeetCode
Approach to Problem Solving
- This is a question about object creation in Java.
- The first solution demonstrates basic object creation, making it suitable for collaboration and future updates.
- The second solution is highly efficient for this specific problem, but it might be challenging to update later.
Github Link
https://github.com/eunhanlee/LeetCode_1603_DesignParkingSystem_Solution.git
1st Solution
class ParkingSystem {
private int bigSlots;
private int mediumSlots;
private int smallSlots;
/**
* Creates a new ParkingSystem with specified slots for each vehicle type.
*
* @param big Number of available slots for big vehicles.
* @param medium Number of available slots for medium vehicles.
* @param small Number of available slots for small vehicles.
*/
public ParkingSystem(int big, int medium, int small) {
this.bigSlots = big;
this.mediumSlots = medium;
this.smallSlots = small;
}
/**
* Adds a vehicle of the given type to the parking system.
*
* @param carType Type of the vehicle to be parked (1 for big, 2 for medium, 3 for small).
* @return True if the vehicle is successfully parked, otherwise false.
*/
public boolean addCar(int carType) {
switch (carType) {
case 1:
if (this.bigSlots > 0) {
this.bigSlots--;
return true;
}
break;
case 2:
if (this.mediumSlots > 0) {
this.mediumSlots--;
return true;
}
break;
case 3:
if (this.smallSlots > 0) {
this.smallSlots--;
return true;
}
break;
}
return false;
}
}
2nd Solution
class ParkingSystem {
int[] slots;
/**
* Creates a new parking system with given slot sizes.
*
* @param big Number of slots available for big vehicles.
* @param medium Number of slots available for medium vehicles.
* @param small Number of slots available for small vehicles.
*/
public ParkingSystem(int big, int medium, int small) {
slots = new int[]{big, medium, small};
}
/**
* Adds a vehicle of the given type to the parking system.
*
* @param carType Type of the vehicle to be parked (1 for big, 2 for medium, 3 for small).
* @return True if the vehicle is successfully parked, otherwise false.
*/
public boolean addCar(int carType) {
return --slots[carType - 1] >= 0;
}
}
댓글 없음:
댓글 쓰기