1 minute read

You 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 Explanation: 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 Explanation: 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

/**
 * @param {number[][]} accounts
 * @return {number}
 */
var maximumWealth = function (accounts) {
  // Initialize a variable to store the maximum wealth
  let maxSum = 0;

  // Iterate through the accounts array
  for (let i = 0; i < accounts.length; i++) {
    // Calculate the wealth for the current customer by summing their account values
    let wealth = accounts[i].reduce((a, b) => a + b, 0);

    // Check if the calculated wealth is greater than the current maximum sum
    if (wealth > maxSum) {
      // Update the maximum sum if the current wealth is greater
      maxSum = wealth;
    }
  }

  // Return the overall maximum wealth
  return maxSum;
};

The time complexity of the code is O(n * m), where n is the number of customers (length of accounts array) and m is the average number of accounts per customer.

The space complexity is O(1) because the algorithm uses a constant amount of extra space, regardless of the input size.

Leave a comment