IOS 算法(基础篇) ----- 最富有客户的资产总量

给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。

例子

输入:accounts = [[1,2,3],[3,2,1]]
输出:6
解释:
第 1 位客户的资产总量 = 1 + 2 + 3 = 6
第 2 位客户的资产总量 = 3 + 2 + 1 = 6
两位客户都是最富有的,资产总量都是 6 ,所以返回 6

输入:accounts = [[1,5],[7,3],[3,5]]
输出:10
解释:
第 1 位客户的资产总量 = 6
第 2 位客户的资产总量 = 10
第 3 位客户的资产总量 = 8
第 2 位客户是最富有的,资产总量是 10

这道算法题相对来说不难, 也好理解

双循环

双循环, 1个循环客户, 1个循环资产, 判断最大即可

    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;
    }

内置函数

运用swift内置函数map, reduce, max来解决, 一行代码

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

swift都有对对应函数的解释举例子, control + 点击 就可以看

示例

题目来源:力扣(LeetCode) 感谢力扣爸爸 :)
IOS 算法合集地址

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容