力扣第5刷-最富有客户的资产总量

简介: 力扣第5刷-最富有客户的资产总量

Example 5

最富有客户的资产总量

题目概述:给你一个 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

 

解题思路:二位数组中的每以个元素代表一位客户在各个银行的资产,分别计算每位客户在各家银行托管的资产数量之和,返回这些资产总量的最大值。

解题步骤:

1. 定义变量maxWealth记录当前时刻最大的资产总量,初始值设为int型的最小值。

2. 增强for循环中遍历二维数组,使用Arrays的stream流中的sum方法,将每个元素(一位数组)求和,并与当前时刻最大的资产总量进行大小比较,将最大值设为新的最大资产总量,用以下一轮比较判断。

3. 循环结束后,全部比较完成,maxWealth代表所有客户中的资产最大值,并将其返回。

 

示例代码如下:

public class MaxMoney {
    /**
     * 给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
     * <p>
     * 客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。
     * <p>
     *  
     * <p>
     * 示例 1:
     * <p>
     * 输入:accounts = [[1,2,3],[3,2,1]]
     * 输出:6
     * 解释:
     * 第 1 位客户的资产总量 = 1 + 2 + 3 = 6
     * 第 2 位客户的资产总量 = 3 + 2 + 1 = 6
     * 两位客户都是最富有的,资产总量都是 6 ,所以返回 6 。
     * 示例 2:
     * <p>
     * 输入:accounts = [[1,5],[7,3],[3,5]]
     * 输出:10
     * 解释:
     * 第 1 位客户的资产总量 = 6
     * 第 2 位客户的资产总量 = 10
     * 第 3 位客户的资产总量 = 8
     * 第 2 位客户是最富有的,资产总量是 10
     * 示例 3:
     * <p>
     * 输入:accounts = [[2,8,7],[7,1,3],[1,9,5]]
     * 输出:17
     *  
     * <p>
     * 提示:
     * <p>
     * m == accounts.length
     * n == accounts[i].length
     * 1 <= m, n <= 50
     * 1 <= accounts[i][j] <= 100
     * <p>
     * 来源:力扣(LeetCode)
     * 链接:https://leetcode.cn/problems/richest-customer-wealth
     */
    public static void main(String[] args) {
        int[][] accounts = {{1, 2, 3}, {3, 2, 1}};
        MaxMoney mm = new MaxMoney();
        System.out.println(mm.maximumWealth(accounts)); // 6
    }
    /**
     * 个人
     * @param accounts
     * @return
     */
/*    public int maximumWealth(int[][] accounts) {
        int maxMoney = 0;
        for (int i = 0; i < accounts.length; i++) {
            int money = 0;
            for (int j = 0; j < accounts[i].length; j++) {
                money += accounts[i][j];
            }
            if (maxMoney < money) maxMoney = money;
        }
        return maxMoney;
    }*/
    /**
     * 官方
     *
     * @param accounts
     * @return
     */
    public int maximumWealth(int[][] accounts) {
        int maxWealth = Integer.MIN_VALUE;
        System.out.println("maxWealth:" + maxWealth);
        for (int[] account : accounts) {
            maxWealth = Math.max(maxWealth, Arrays.stream(account).sum());
        }
        return maxWealth;
    }
}
相关文章
|
4月前
|
数据采集 人工智能 监控
客户管理和运营太难了?瓴羊×阿里云上的Salesforce给出更符合中国企业体质的解法
客户管理和运营太难了?瓴羊×阿里云上的Salesforce给出更符合中国企业体质的解法
|
Cloud Native
【刷题日记】1672. 最富有客户的资产总量
本次刷题日记的第 32 篇,力扣题为:1672. 最富有客户的资产总量素 ,简单
|
Python
python实现公司年报进出口判断分析
python实现公司年报进出口判断分析
75 0
|
机器学习/深度学习 传感器 安全
2023 年高教社杯C题蔬菜类商品的自动定价与补货决策思路及代码(持续更新)
2023 年高教社杯C题蔬菜类商品的自动定价与补货决策思路及代码(持续更新)
LeetCode 1672. 最富有客户的资产总量
给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
93 0
《在业务量暴增中痛并快乐——数据交易平台的成长记事》电子版地址
在业务量暴增中痛并快乐——数据交易平台的成长记事
59 0
《在业务量暴增中痛并快乐——数据交易平台的成长记事》电子版地址
每日一题——最富有客户的资产总量
每日一题——最富有客户的资产总量
63 0
|
算法
LeetCode——1672. 最富有客户的资产总量
LeetCode——1672. 最富有客户的资产总量
81 0
|
Python
LeetCode每日一题——1672. 最富有客户的资产总量
给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
163 0
最富有客户的资产总量Java版(力扣)
最富有客户的资产总量Java版(力扣)
下一篇
无影云桌面