How I solved LeetCode Challenge, Richest Customer Wealth!

Danielle Torres
2 min readJun 20, 2021

Hi Everyone,

Today I will be breaking down how I solved challenge, Richest Customer Wealth, using JavaScript.

Objective: 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

I first create an outer loop so I can iterate through my grid. If their are two elements in the grid, for instance [[1,2,3][3,2,1]], it will loop as follows:

  1. [1,2,3]
  2. [3,2,1]

I then create an inner loop that will iterate through each element in the array and add it to a sum variable, set to zero.

When the for loop completes, it will check a variable called richestAcct, that is set to zero, to see if its less than or equal to the sum variable.

If it is, then it will set the richestAcct equal to the sum variable.

Once the if statement is complete it will zero out the sum variable for the next iteration.

When the outer loop completes it will return the richestAcct variable.

Here is the final code:

var maximumWealth = function(accounts) {

let sum = 0;
let richestAcct = 0;

for (let i=0; i < accounts.length; i++){

for (let j=0; j < accounts[i].length; j++) {
sum += accounts[i][j];
};

if (richestAcct <= sum){
richestAcct = sum;
};

sum = 0;
};
return richestAcct
};

It passed!

Runtime: 68 ms faster than 97.42% of JavaScript online submissions for Richest Customer Wealth.

Memory Usage: 39 MB, less than 9.08% of JavaScript online submissions for Richest Customer Wealth.

--

--

Danielle Torres

Highly organized & motivated Software Engineer with an application analyst/data analyst background.