1. 程式人生 > 其它 >淺談 設計停車系統 問題

淺談 設計停車系統 問題

技術標籤:資料結構與演算法(刷題篇)c++演算法

設計停車系統

問題:
請你給一個停車場設計一個停車系統。停車場總共有三種不同大小的車位:大,中和小,每種尺寸分別有固定數目的車位。

請你實現 ParkingSystem 類:

ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 類,三個引數分別對應每種停車位的數目。bool addCar(int carType) 檢查是否有 carType 對應的停車位。 carType 有三種類型:大,中,小,分別用數字 1, 2 和 3 表示。一輛車只能停在 carType 對應尺寸的停車位中。如果沒有空車位,請返回 false

,否則將該車停入車位並返回 true

思路:

  1. 用一個數組儲存三種不同的停車位
  2. 在建構函式中構造各種停車位數
  3. 判斷停車位是否滿並讓停車位減一
class ParkingSystem {
public:
    ParkingSystem(int big, int medium, int small) {
        carPosition[0] = big;
        carPosition[1] = medium;
        carPosition[2] = small;
    }

private:
    int carPosition[3];

public:
    bool
addCar(int carType) { return carPosition[carType - 1]-- > 0; // 判斷停車位是否滿和讓停車位減一 } }; /** * Your ParkingSystem object will be instantiated and called as such: * ParkingSystem* obj = new ParkingSystem(big, medium, small); * bool param_1 = obj->addCar(carType); */