力扣算法

126 阅读2分钟

力扣算法

1最富有客户的资产总量

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

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

来源:力扣(LeetCode) 链接:leetcode.cn/problems/ri…

示例 1:

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

示例 2:


输入:accounts = [[1,5],[7,3],[3,5]]
输出:10
解释:
第 1 位客户的资产总量 = 62 位客户的资产总量 = 103 位客户的资产总量 = 82 位客户是最富有的,资产总量是 10
示例 3:

输入: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

答:

/**
 * @param {number[][]} accounts
 * @return {number}
 */
var maximumWealth = function(accounts) {
 //声明一个空数组, 用于接收客户的总资产
   let arr =[]
  
   for(let i=0;i<accounts.length;i++) {

       //计算每位客户的总资产步骤
       //定义当前的客户总资产为0 
       let sum =0 
       // 循环, accounts[i] 为每位客户,  accounts[i].length 为每位客户的资产数组(目的获取每个数组中的所有值并相加)
      
       for (let j = 0; j < accounts[i].length;j++) {
         
           // 计算当前每个客户的总资产
           sum+= accounts[i][j]

       }
       // 接收每位客户总资产push到 arr数组
       arr.push(sum)
   }

   //applay接收两个参数,第一个是this的值,第二个参数是一个参数数组。当第一个值为null、undefined时,this指向window。
   return Math.max.apply(null, arr)
};

maximumWealth([[2,8,7],[7,1,3],[1,9,5]])

// 结果输入17