最富有客户的资产总量
——————(力扣第1672题)
本题为数组嵌套型题,两层嵌套。
分析题目我们可以看到是将内层中的每个数求和然后将这些和比较。
在这个例子中我们可以先求内层中的和:[6,6]
因为两个数相等所以最大值为6
在这个例子中同样先求内层中的和:[6,10,8]
然后在比较这几个数最大值为10
因此我们可以这样解这道题
1、先求出内层中每个数的和并将其保存在新的数组中
2、在新数组中找到最大值
先创建一个数组,数组长度为外层数组的长度
int[] a = new int[accounts.length];
循环遍历求内层中每个数的和并将其保存在新数组中
for(int i = 0; i < accounts.length;i++){
int sum = 0;
for(int j = 0;j < accounts[i].length;j++){
sum += accounts[i][j];
}
a[i] = sum;
}
最后循环找到最大值为所求
int max = a[0];
for(int i = 1; i < a.length;i++){
max = (a[i]>max) ? a[i] : max;
}
全过程为:
class Solution {
public int maximumWealth(int[][] accounts) {
int[] a = new int[accounts.length];
for(int i = 0; i < accounts.length;i++){
int sum = 0;
for(int j = 0;j < accounts[i].length;j++){
sum += accounts[i][j];
}
a[i] = sum;
}
int max = a[0];
for(int i = 1; i < a.length;i++){
max = (a[i]>max) ? a[i] : max;
}
return max;
}
}