题目
给你一个 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 。
示例2
输入:accounts = [[1,5],[7,3],[3,5]]
输出:10
解释:
第 1 位客户的资产总量 = 6
第 2 位客户的资产总量 = 10
第 3 位客户的资产总量 = 8
第 2 位客户是最富有的,资产总量是 10
示例3
输入:accounts = [[2,8,7],[7,1,3],[1,9,5]]
输出:17
分析
遍历数组里的元素 , 相加判断最大值
我的答案
/**
* @param {number[][]} accounts
* @return {number}
*/
var maximumWealth = function(accounts) {
let max = 0
for (i in accounts) {
let sum = 0
for (j in accounts[i]) {
sum += accounts[i][j]
}
max = Math.max(max, sum)
}
return max
};
补充知识 : for in 和for of 的区别
for in
常用来遍历对象for of
常用来遍历数组- 我第一遍写用的for in 看见有人用for of , 注意到了这俩的区别
- 区别1 :
for in
遍历的是数组的索引,对象的属性for of
遍历的是数组元素
const arr = [4,5,6]
for (i in arr) {
console.log(i) //打印出来的是角标
//要想打印出来数组里面的元素 是这样写
console.log(arr[i])
}
for (j of arr) {
console.log(j) //打印出来的是数组里面的元素
}
- 区别2 :
for of
不能遍历对象 ,for in
可以遍历对象
const obj= { name: 'Allen', age: 33 }
for (i in obj) {
console.log(i) //打印出来的是name , age
//要想打印出来数组里面的元素 是这样写
console.log(arr[i]) //打印出来 Allen 33
}
for (j of arr) {
console.log(j) //报错
}
- 遍历数组对象
const list = [{ name: 'Allen' }, { age: 33 }]
for (val of list) {
console.log(val) // 输出{ name: 'Allen' }, { age: 33 }
for (key in val) {
console.log(val[key]) // 输出 Allen,33
}
}