IOS 算法(基礎(chǔ)篇) ----- 最富有客戶的資產(chǎn)總量

給你一個(gè) m x n 的整數(shù)網(wǎng)格 accounts ,其中 accounts[i][j] 是第 i???????????? 位客戶在第 j 家銀行托管的資產(chǎn)數(shù)量。返回最富有客戶所擁有的 資產(chǎn)總量 ??蛻舻?資產(chǎn)總量 就是他們?cè)诟骷毅y行托管的資產(chǎn)數(shù)量之和。最富有客戶就是 資產(chǎn)總量 最大的客戶。

例子

輸入:accounts = [[1,2,3],[3,2,1]]
輸出:6
解釋:
第 1 位客戶的資產(chǎn)總量 = 1 + 2 + 3 = 6
第 2 位客戶的資產(chǎn)總量 = 3 + 2 + 1 = 6
兩位客戶都是最富有的,資產(chǎn)總量都是 6 ,所以返回 6

輸入:accounts = [[1,5],[7,3],[3,5]]
輸出:10
解釋:
第 1 位客戶的資產(chǎn)總量 = 6
第 2 位客戶的資產(chǎn)總量 = 10
第 3 位客戶的資產(chǎn)總量 = 8
第 2 位客戶是最富有的,資產(chǎn)總量是 10

這道算法題相對(duì)來(lái)說(shuō)不難, 也好理解

雙循環(huán)

雙循環(huán), 1個(gè)循環(huán)客戶, 1個(gè)循環(huán)資產(chǎn), 判斷最大即可

    func maximumWealth(_ accounts: [[Int]]) -> Int {
        if accounts.count == 0 { return 0 }
        
        var max = calMax(accounts[0])
        
        for i in accounts {
            max = calMax(i) > max ? calMax(i) : max
        }
        
        return max;
    }
    
    func calMax(_ send: [Int]) -> Int {
        
        var sum = 0
        for i in send {
            sum += I
        }
        
        return sum;
    }

內(nèi)置函數(shù)

運(yùn)用swift內(nèi)置函數(shù)map, reduce, max來(lái)解決, 一行代碼

func maximumWealth(_ accounts: [[Int]]) -> Int {
   return accounts.map { $0.reduce(0, +) }.max() ?? 0
}

swift都有對(duì)對(duì)應(yīng)函數(shù)的解釋舉例子, control + 點(diǎn)擊 就可以看

示例

題目來(lái)源:力扣(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),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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