Post

Leetcode 1672. Richest Customer Wealth

ou are given an `m x n` integer grid `accounts` where `accounts[i][j]` is the amount of money the `i​​​​​​​​​​​th​​​​` customer has in the `j​​​​​​​​​​​th​​​​` bank. Return the wealth that the richest customer has. A customer's wealth is the amount of money they have in all their bank accounts. The richest customer is the customer that has the maximum wealth.

Description

ou are given an m x n integer grid accounts where accounts[i][j] is the amount of money the i​​​​​​​​​​​th​​​​ customer has in the j​​​​​​​​​​​th​​​​ bank. Return the wealth that the richest customer has.

A customer’s wealth is the amount of money they have in all their bank accounts. The richest customer is the customer that has the maximum wealth.

Example 1:

Input: accounts = [[1,2,3],[3,2,1]]
Output: 6
  • 1st customer has wealth = 1 + 2 + 3 = 6
    2nd customer has wealth = 3 + 2 + 1 = 6
    Both customers are considered the richest with a wealth of 6 each, so return 6.

Example 2:

Input: accounts = [[1,5],[7,3],[3,5]]
Output: 10
  • 1st customer has wealth = 6
    2nd customer has wealth = 10
    3rd customer has wealth = 8
    The 2nd customer is the richest with a wealth of 10.

Example 3:

Input: accounts = [[2,8,7],[7,1,3],[1,9,5]]
Output: 17

Constraints:

  • m == accounts.length
  • n == accounts[i].length
  • 1 <= m, n <= 50
  • 1 <= accounts[i][j] <= 100

Solution

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution:
    # Iteration
    # Time Complexity: BigO(N^2)
    # Space Complexity: BigO(1)
    def maximumWealth(self, accounts: List[List[int]]) -> int:
        highest = 0
        for customer in accounts:
            sum = 0
            for balance in customer:
                sum += balance
            if sum > highest:
                highest = sum
        return highest
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
 * Iteration
 * Time Complexity: BigO(N^2)
 * Space Complexity: BigO(1)
 */
function maximumWealth(accounts: number[][]): number {
  let highest = 0;
  for (let customer of accounts) {
    let sum = customer.reduce((acc, cur) => (acc += cur), 0);
    if (sum > highest) {
      highest = sum;
    }
  }
  return highest;
}
  • Math.max(): E.g. Math.max(...customer.reduce((acc, cur) => (acc += cur), 0))
This post is licensed under CC BY 4.0 by the author.