直觉
问题是设计一个可以容纳不同类型的汽车(大型,中,小)的停车系统,并且每种类型都有固定数量的插槽。该系统应该能够检查给定汽车类型是否可用插槽,并在可能的情况下停放。
方法
一种可能的方法是使用三个变量来存储每种汽车类型的插槽数量。类的构造函数应使用给定值初始化这些变量。如果有一个可用的插槽,则ADDCAR方法应检查CAR类型并降低相应变量。根据汽车是否停放,它也应该返回对还是错。
复杂
- 时间复杂性:$$ o(1)$$
- 空间复杂性:$$ o(1)$$
代码
class ParkingSystem {
private int big;
private int medium;
private int small;
public ParkingSystem(int big, int medium, int small) {
this.big = big;
this.medium = medium;
this.small = small;
}
public boolean addCar(int carType) {
if (carType == 1 && big > 0) {
big -= 1;
return true;
} else if (carType == 2 && medium > 0) {
medium -= 1;
return true;
} else if (carType == 3 && small > 0) {
small -= 1;
return true;
} else {
return false;
}
}
}
/**
* Your ParkingSystem object will be instantiated and called as such:
* ParkingSystem obj = new ParkingSystem(big, medium, small);
* boolean param_1 = obj.addCar(carType);
*/