原题链接:https://leetcode-cn.com/problems/design-parking-system/
直白解法一:
class ParkingSystem {
public:
int b,m,s;
ParkingSystem(int big, int medium, int small):b(big),m(medium),s(small){}
bool addCar(int carType) {
if(carType == 1 && b > 0) return b-->0;
else if(carType == 2 && m > 0) return m-->0;
else if(carType == 3 && s > 0) return s-->0;
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);
*/
Hash解法二:
class ParkingSystem {
Map<Integer, Integer> map=new HashMap<>();
public ParkingSystem(int _big, int _medium, int _small) {
map.put(1, _big);
map.put(2, _medium);
map.put(3, _small);
}
public boolean addCar(int carType) {
if( map.get(carType) > 0){
map.put(carType,map.get(carType)-1);
return true;
}
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);
*/
还有一个二进制解法 没看懂emmmm 再去学学C++语法