IOS 算法(基礎(chǔ)篇) ----- 設(shè)計(jì)停車系統(tǒng)

請(qǐng)你給一個(gè)停車場(chǎng)設(shè)計(jì)一個(gè)停車系統(tǒng)。停車場(chǎng)總共有三種不同大小的車位:大,中和小,每種尺寸分別有固定數(shù)目的車位。請(qǐng)你實(shí)現(xiàn) ParkingSystem 類: ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 類,三個(gè)參數(shù)分別對(duì)應(yīng)每種停車位的數(shù)目。bool addCar(int carType) 檢查是否有 carType 對(duì)應(yīng)的停車位。 carType 有三種類型:大,中,小,分別用數(shù)字 1, 2 和 3 表示。一輛車只能停在 carType 對(duì)應(yīng)尺寸的停車位中。如果沒有空車位,請(qǐng)返回 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 ,因?yàn)橛?1 個(gè)空的大車位
parkingSystem.addCar(2); // 返回 true ,因?yàn)橛?1 個(gè)空的中車位
parkingSystem.addCar(3); // 返回 false ,因?yàn)闆]有空的小車位
parkingSystem.addCar(1); // 返回 false ,因?yàn)闆]有空的大車位,唯一一個(gè)大車位已經(jīng)被占據(jù)了

解題思路:

全局定義個(gè)可變數(shù)組, 直接操作對(duì)應(yīng)值即可

代碼:

    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 算法合集地址

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

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

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