給你一個(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 算法合集地址