IOS 算法(基礎篇) ----- 設計停車系統(tǒng)

請你給一個停車場設計一個停車系統(tǒng)。停車場總共有三種不同大小的車位:大,中和小,每種尺寸分別有固定數(shù)目的車位。請你實現(xiàn) ParkingSystem 類: ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 類,三個參數(shù)分別對應每種停車位的數(shù)目。bool addCar(int carType) 檢查是否有 carType 對應的停車位。 carType 有三種類型:大,中,小,分別用數(shù)字 1, 2 和 3 表示。一輛車只能停在 carType 對應尺寸的停車位中。如果沒有空車位,請返回 false ,否則將該車停入車位并返回 true 。

例子:

輸入:
["ParkingSystem", "addCar", "addCar", "addCar", "addCar"]
[[1, 1, 0], [1], [2], [3], [1]]
輸出:
[null, true, true, false, false]

解釋:
ParkingSystem parkingSystem = new ParkingSystem(1, 1, 0);
parkingSystem.addCar(1); // 返回 true ,因為有 1 個空的大車位
parkingSystem.addCar(2); // 返回 true ,因為有 1 個空的中車位
parkingSystem.addCar(3); // 返回 false ,因為沒有空的小車位
parkingSystem.addCar(1); // 返回 false ,因為沒有空的大車位,唯一一個大車位已經(jīng)被占據(jù)了

解題思路:

全局定義個可變數(shù)組, 直接操作對應值即可

代碼:

    var ps = [0, 0, 0]

    init(_ big: Int, _ medium: Int, _ small: Int) {
        ps = [big, medium, small]
    }
    
    func addCar(_ carType: Int) -> Bool {
        if ps[carType - 1] == 0 { return false }
        ps[carType - 1] = ps[carType - 1] - 1
        return true
    }

題目來源:力扣(LeetCode) 感謝力扣爸爸 :)
IOS 算法合集地址

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容