力扣第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. 最富有客户的资产总量素 ,简单
|
机器学习/深度学习 算法 物联网
《风控要略:互联网业务反欺诈之路》一万字读后详细总结
本书的内容正如书名所述,是为要略而非攻略,即作者站在一个更为宏观的角度,以自身的从业经验对当今风控领域做了一番较为全貌的总结概述。书中的章节内容有精有简,既为要略,那么就无法苛求其内容都足够全面与详细。它更像是一部风控领域的科普类简述作品,在广度上能较好地让读者了解到风控各方面的现状及走向,但若要谈及深度,则多少有种“师父领进门,修行在个人”的感觉。这本书其实有挺多人推荐,一方面是书籍出版时间距离现在很近,一方面则是填补风控业务领域入门书籍的空白,只是通篇读完,好的地方是有,值得吐槽的地方也不少。总而言之,对于像我这样风控小白而言,还是值得翻阅一番。
215 0
LeetCode 1672. 最富有客户的资产总量
给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
98 0
|
算法
LeetCode——1672. 最富有客户的资产总量
LeetCode——1672. 最富有客户的资产总量
90 0
每日一题——最富有客户的资产总量
每日一题——最富有客户的资产总量
64 0
|
Python
LeetCode每日一题——1672. 最富有客户的资产总量
给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
167 0
|
新零售 搜索推荐 数据可视化
案例酷 | 奇瑞实现连续7个月销售上涨,谁才是背后主要推手?
今年,中国车市持续低迷。在这样氛围中,奇瑞汽车每月公布的销量数据,却次次让人兴奋。据最新公布的奇瑞集团销量数据显示,今年7月,奇瑞集团共销售汽车4.9万辆,今年1月到7月,奇瑞集团累计销量已达37.3万辆,实现了连续7个月的销量增长。优异成绩的背后,除了造车技术的精进,到底奇瑞还有什么样的秘密武器?
案例酷 | 奇瑞实现连续7个月销售上涨,谁才是背后主要推手?
|
新零售 搜索推荐 数据可视化
【云栖号案例 | 制造】4大兵器在手 奇瑞实现连续7个月销售上涨
中国车市低迷 奇瑞采用用户全生命周期理念,实现线上线下营销场景打通,整合所有线上渠道,实现资源集中统一管理,构建统一素材库,降低开发运营成本。
【云栖号案例 | 制造】4大兵器在手 奇瑞实现连续7个月销售上涨