Leetcode 1672. Richest Customer Wealth
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 account. Return the wealth that the richest customer has.
A customer’s wealth is the sum 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 = 1 + 5 = 6
- 2nd customer has wealth = 7 + 3 = 10
- 3rd customer has wealth = 3 + 5 = 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
accounts
array?
accounts
array?
max_wealth
to keep track of the maximum wealth found.accounts
array.max_wealth
if the current customer’s wealth is greater than the previously found maximum wealth.max_wealth
after iterating through all customers.We will implement the strategy in C++ as follows:
#include <vector>
#include <algorithm>
class Solution {
public:
int maximumWealth(std::vector<std::vector<int>>& accounts) {
int max_wealth = 0;
for (const auto& customer : accounts) {
int current_wealth = 0;
for (int money : customer) {
current_wealth += money;
}
max_wealth = std::max(max_wealth, current_wealth);
}
return max_wealth;
}
};
m
is the number of customers and n
is the number of bank accounts per customer. This is because we need to iterate through each element in the accounts
grid exactly once.max_wealth
and current_wealth
.This solution ensures that we efficiently compute the maximum wealth with optimal space and time complexities.
Got blindsided by a question you didn’t expect?
Spend too much time studying?
Or simply don’t have the time to go over all 3000 questions?