力扣第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;
    }
}
相关文章
|
11月前
|
人工智能 自然语言处理 语音技术
《AI赋能鸿蒙Next:为特殊人群打造无障碍交互新体验》
在科技飞速发展的今天,鸿蒙Next设备借助人工智能技术,显著提升了特殊人群的无障碍交互体验。针对视障人群,提供精准屏幕朗读、视觉辅助智能问答和导航避障辅助;面向听障人群,实现AI声音修复、实时字幕与语音转文字;助力语言障碍者和老年人群体,通过AI优化交流与操作体验。开发者可利用鸿蒙Next的AI能力,深入了解用户需求,进行测试与优化,共同创造友好、便捷的无障碍环境,让特殊人群更好地融入数字社会,享受科技带来的美好生活。
591 8
|
11月前
|
关系型数据库 编译器 分布式数据库
PolarDB实操课] 04.通过源码部署PolarDB-X企业版
本次课程由PolarDB开源架构师王江颖分享,详细介绍了通过源码部署PolarDB-X企业版的全过程。主要内容包括: 1. **编译基础** 2. **使用源码编译部署PolarDB-X企业版** 3. **演示实例**:通过阿里云ECS进行实际操作演示,从创建用户、赋予权限到最终启动并连接PolarDB-X数据库,展示了完整的部署过程。 4. **总结**
347 0
|
存储 机器学习/深度学习 缓存
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
304 1
|
消息中间件 监控 大数据
揭秘Kafka:大数据和流计算领域的高可用利器
**Kafka是分布式流处理平台,以高效、可伸缩和消息持久化著称。其高可用性通过分区和副本机制实现:每个分区有Leader和Follower副本,Leader处理请求,Follower同步数据。当Leader故障时,ZooKeeper协助选举新Leader,确保服务连续。Kafka适用于大数据处理、流计算和日志分析,但异步处理可能导致延迟,不适合极高实时性场景,并且管理和配置复杂。**
380 0
ts文件解密
ts文件解密
661 0
|
Java 数据库连接 mybatis
Mybatis之Error building SqlSession.
Mybatis之Error building SqlSession.
808 0
|
小程序 前端开发 安全
vue+uni-app商城实战 | 第一篇:从0到1快捷开发一个商城微信小程序,无缝接入OAuth2实现一键授权登录
vue+uni-app商城实战 | 第一篇:从0到1快捷开发一个商城微信小程序,无缝接入OAuth2实现一键授权登录
|
机器学习/深度学习 数据采集 人工智能
常用激活函数(激励函数)理解与总结
神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或输出层)。在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(又称激励函数)。
常用激活函数(激励函数)理解与总结
|
JavaScript CDN
js:filesize.js将文件大小转换为人类可读的格式
js:filesize.js将文件大小转换为人类可读的格式
617 0
|
边缘计算 Kubernetes Cloud Native
上海 Meetup | 一键获取 11 大云原生热门开源项目技术分享入场券
12 月 03 日上海站,微服务x容器开源开发者 Meetup 将围绕云原生领域当下 11 个热门开源项目的技术分享和企业实践展开,邀请到 Spring Cloud Alibaba、Dubbo、OpenYurt、KubeVela、OpenSergo 等云原生领域传统&新锐开源项目核心维护者,为大家分享社区最近动态、架构实践及企业应用案例等精彩内容。
上海 Meetup | 一键获取 11 大云原生热门开源项目技术分享入场券