算法:1672. 最富有客户的资产总量

79 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情

描述

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

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

示例1

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

解题思路

入门的算法题目。 二维数组的求和

  1. 思路,两层循环。第二层循环,记录二维数组的总和,第一层循环,记录总和的值,保存在定义的数组中。
  2. 定义变量数组暂存数据
  3. 通过Math.max求最大值
/**
 * @param {number[][]} accounts
 * @return {number}
 */
var maximumWealth = function(accounts) {
  let arrs = [];
  accounts.forEach(arr=>{
    const a = arr.reduce((total,current) =>{
      return total+current;
    });
    arrs.push(a);
  });
  return Math.max(...arrs)
};

总结

  1. 相对于其他的算法,这是还是比较简单的。这里是利用了js的快捷方法。但是我觉得,尽量还是用基本的语法。例如:for、while、do.while循环。
  2. 在学习算法的过程中,也可以帮助我们复习一下数组的方法、es5/es6等等

参考

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