力扣第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;
    }
}
相关文章
|
Cloud Native
【刷题日记】1672. 最富有客户的资产总量
本次刷题日记的第 32 篇,力扣题为:1672. 最富有客户的资产总量素 ,简单
|
7月前
|
存储 关系型数据库 MySQL
校园闲置物品交易平台的设计与实现(论文+源码)_kaic
校园闲置物品交易平台的设计与实现(论文+源码)_kaic
|
机器学习/深度学习 算法 物联网
《风控要略:互联网业务反欺诈之路》一万字读后详细总结
本书的内容正如书名所述,是为要略而非攻略,即作者站在一个更为宏观的角度,以自身的从业经验对当今风控领域做了一番较为全貌的总结概述。书中的章节内容有精有简,既为要略,那么就无法苛求其内容都足够全面与详细。它更像是一部风控领域的科普类简述作品,在广度上能较好地让读者了解到风控各方面的现状及走向,但若要谈及深度,则多少有种“师父领进门,修行在个人”的感觉。这本书其实有挺多人推荐,一方面是书籍出版时间距离现在很近,一方面则是填补风控业务领域入门书籍的空白,只是通篇读完,好的地方是有,值得吐槽的地方也不少。总而言之,对于像我这样风控小白而言,还是值得翻阅一番。
200 0
|
Python
python实现公司年报进出口判断分析
python实现公司年报进出口判断分析
79 0
|
机器学习/深度学习 传感器 安全
2023 年高教社杯C题蔬菜类商品的自动定价与补货决策思路及代码(持续更新)
2023 年高教社杯C题蔬菜类商品的自动定价与补货决策思路及代码(持续更新)
《在业务量暴增中痛并快乐——数据交易平台的成长记事》电子版地址
在业务量暴增中痛并快乐——数据交易平台的成长记事
60 0
《在业务量暴增中痛并快乐——数据交易平台的成长记事》电子版地址
LeetCode 1672. 最富有客户的资产总量
给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
95 0
每日一题——最富有客户的资产总量
每日一题——最富有客户的资产总量
63 0
|
算法
LeetCode——1672. 最富有客户的资产总量
LeetCode——1672. 最富有客户的资产总量
85 0
|
Python
LeetCode每日一题——1672. 最富有客户的资产总量
给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
165 0