# 题目

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

客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。

# 自己解题

这个很简单,使用 reduce 就可以,在循环中逐一比对.

t
function maximumWealth(accounts: number[][]): number {
    let max = 0;
    for(let item of accounts){
        let num = item.reduce((total,v)=>total + v);
        if(num > max){
            max = num;
        }
    }
    return max;
}

执行用时: 64 ms , 在所有 TypeScript 提交中击败了 77.67% 的用户

# 学习解法

看过网友们的解法,有一个竟然一行就解决了,值得学习一下,这里使用了 map , reduce , Math.max.apply

t
function maximumWealth(accounts: number[][]): number {
    return Math.max.apply(this,accounts.map(account=>account.reduce((v1,v2)=>v1+v2)));
}

提交之后,执行用时: 64 ms , 在所有 TypeScript 提交中击败了 77.67% 的用户

性能相差不多.

请我喝杯[咖啡]~( ̄▽ ̄)~*

一个放羊娃 微信支付

微信支付

一个放羊娃 支付宝

支付宝