力扣第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. 最富有客户的资产总量素 ,简单
|
6月前
|
存储 关系型数据库 MySQL
校园闲置物品交易平台的设计与实现(论文+源码)_kaic
校园闲置物品交易平台的设计与实现(论文+源码)_kaic
|
机器学习/深度学习 传感器 安全
2023 年高教社杯C题蔬菜类商品的自动定价与补货决策思路及代码(持续更新)
2023 年高教社杯C题蔬菜类商品的自动定价与补货决策思路及代码(持续更新)
|
人工智能 监控 安全
数智洞察 | 安全运输危险品,“红黄蓝三色码”背后的新管理思路
编者按: 过去10年,中国公路货运行业在市场规模迅速扩张的同时,安全风险也居高不下,成为困扰行业性发展的痛点。比起处理事故本身,如何预防类似事件的发生,是一个值得探讨的话题。
321 0
LeetCode 1672. 最富有客户的资产总量
给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
93 0
每日一题——最富有客户的资产总量
每日一题——最富有客户的资产总量
62 0
|
算法
LeetCode——1672. 最富有客户的资产总量
LeetCode——1672. 最富有客户的资产总量
81 0
|
Python
LeetCode每日一题——1672. 最富有客户的资产总量
给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
163 0
|
新零售 搜索推荐 数据可视化
案例酷 | 奇瑞实现连续7个月销售上涨,谁才是背后主要推手?
今年,中国车市持续低迷。在这样氛围中,奇瑞汽车每月公布的销量数据,却次次让人兴奋。据最新公布的奇瑞集团销量数据显示,今年7月,奇瑞集团共销售汽车4.9万辆,今年1月到7月,奇瑞集团累计销量已达37.3万辆,实现了连续7个月的销量增长。优异成绩的背后,除了造车技术的精进,到底奇瑞还有什么样的秘密武器?
案例酷 | 奇瑞实现连续7个月销售上涨,谁才是背后主要推手?
|
新零售 搜索推荐 数据可视化
【云栖号案例 | 制造】4大兵器在手 奇瑞实现连续7个月销售上涨
中国车市低迷 奇瑞采用用户全生命周期理念,实现线上线下营销场景打通,整合所有线上渠道,实现资源集中统一管理,构建统一素材库,降低开发运营成本。
【云栖号案例 | 制造】4大兵器在手 奇瑞实现连续7个月销售上涨
下一篇
无影云桌面