开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情
描述
给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。
示例1
输入:accounts = [[1,2,3],[3,2,1]]
输出:6
解释:
第 1 位客户的资产总量 = 1 + 2 + 3 = 6
第 2 位客户的资产总量 = 3 + 2 + 1 = 6
两位客户都是最富有的,资产总量都是 6 ,所以返回 6 。
解题思路
入门的算法题目。 二维数组的求和
- 思路,两层循环。第二层循环,记录二维数组的总和,第一层循环,记录总和的值,保存在定义的数组中。
- 定义变量数组暂存数据
- 通过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)
};
总结
- 相对于其他的算法,这是还是比较简单的。这里是利用了js的快捷方法。但是我觉得,尽量还是用基本的语法。例如:for、while、do.while循环。
- 在学习算法的过程中,也可以帮助我们复习一下数组的方法、es5/es6等等
参考
来源:力扣(LeetCode) 链接:leetcode.cn/problems/ri…