📜  最富有的客户财富 leetcode - Java (1)

📅  最后修改于: 2023-12-03 15:26:26.357000             🧑  作者: Mango

最富有的客户财富 LeetCode - Java

简介

本题目是 LeetCode 1672. 最富有的客户的资产总量,题目要求计算一个二维数组每个子数组中的数字之和,也就是一个客户的财富值。最终输出这些客户中最富有的一个的财富值。

这个题目非常适合新手练习数组的使用以及遍历二维数组。

题目描述

给你一个 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 位客户的资产总量 = 1 + 5 = 6
第 2 位客户的资产总量 = 7 + 3 = 10
第 3 位客户的资产总量 = 3 + 5 = 8
第 2 位客户是最富有的,资产总量是 10
解题思路

循环遍历二维数组 accounts,对于每个子数组求和,记录下最大值,最后返回最大值即可。

代码实现

Java 代码如下:

class Solution {
    public int maximumWealth(int[][] accounts) {
        int max_wealth = 0;

        for (int[] customer : accounts) {
            int wealth = 0;
            for (int money : customer) {
                wealth += money;
            }

            max_wealth = Math.max(max_wealth, wealth);
        }

        return max_wealth;
    }
}

代码中使用了两层 for 循环来遍历二维数组,并计算每个人的财富值,最后记录下最大值即可。