最富有客户的资产总量

58 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情

题目描述

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

  • 示例 1
入:accounts = [[1,2,3],[3,2,1]]
输出:6
解释:
第 1 位客户的资产总量 = 1 + 2 + 3 = 6
第 2 位客户的资产总量 = 3 + 2 + 1 = 6
两位客户都是最富有的,资产总量都是 6 ,所以返回 6 。
  • 示例 2
输入:accounts = [[1,5],[7,3],[3,5]]
输出:10
解释:
第 1 位客户的资产总量 = 62 位客户的资产总量 = 103 位客户的资产总量 = 82 位客户是最富有的,资产总量是 10
  • 示例 2
输入: accounts = [[2,8,7],[7,1,3],[1,9,5]]
输出: 17

提示:

  • m == accounts.length
  • n == accounts[i].length
  • 1 <= m, n <= 50
  • 1 <= accounts[i][j] <= 100

思路分析

题目中整数网格accounts,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量,求出在各家银行托管的资产总量最高的客户。
其实accounts可以用一个二维数组来表示,每个客户在多家银行存的资产就是内嵌数组的每个元素。要计算出每个人的总资产,就需要对这个数组进行遍历,二维数组需要用到双重for循环,遍历到每个客户,再进行计算每个客户的总资产,用result存起来,result也是一个数组,使用Math.max计算出result的最高值,这个就是这些客户中最大的资产了。

AC代码

function solution(arr) {
    let result = [];
    for(let i=0; i<arr.length; i++) {
        let total = 0;
        for(let j=0; j<arr[i].length; j++) {
            total= total + arr[i][j];
        };
        result.push(total);
    }
    console.log(Math.max(...result))
}
let accounts = [[1,5],[7,3],[3,5]];
solution(accounts)