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
program main
implicit none
integer, parameter :: m = 2, n = 3
integer, dimension(m, n) :: accounts
integer :: i, j, wealth
! Example 1
accounts = reshape([1, 2, 3, 3, 2, 1], shape=[m, n])
write (*, '(a, i0)') 'Example 1: ', max_wealth(accounts)
! Example 2
accounts = reshape([1, 5, 7, 3], shape=[m, n])
write (*, '(a, i0)') 'Example 2: ', max_wealth(accounts)
! Example 3
accounts = reshape([2, 8, 7, 7, 1, 3, 1, 9, 5], shape=[m, n])
write (*, '(a, i0)') 'Example 3: ', max_wealth(accounts)
contains
function max_wealth(accounts) result(wealth)
implicit none
integer, intent(in) :: accounts(:, :)
integer :: i, j, wealth
wealth = 0
do i = 1, size(accounts, 1)
do j = 1, size(accounts, 2)
wealth = max(wealth, sum(accounts(i, :)))
end do
end do
end function max_wealth
end program main
temp.f95:13:23: 13 | accounts = reshape([1, 5, 7, 3], shape=[m, n]) | 1 Error: Without padding, there are not enough elements in the intrinsic RESHAPE source at (1) to match the shape
module wealth
implicit none
contains
function get_wealth(accounts) result(wealth)
integer, intent(in) :: accounts(:, :)
integer :: wealth, i, j
wealth = 0
do i = 1, size(accounts, 1)
do j = 1, size(accounts, 2)
wealth = max(wealth, sum(accounts(i, :)))
end do
end do
end function get_wealth
end module wealth
program wealth_test
use wealth
implicit none
integer, parameter :: m = 2, n = 3
integer :: accounts(m, n) = reshape([1, 2, 3, 3, 2, 1], shape(accounts))
integer :: wealth
wealth = get_wealth(accounts)
write (*, *) "Wealth: ", wealth
accounts = reshape([1, 5, 7, 3, 2, 1, 9, 5], shape(accounts))
wealth = get_wealth(accounts)
write (*, *) "Wealth: ", wealth
accounts = reshape([2, 8, 7, 7, 1, 3, 1, 9, 5], shape(accounts))
wealth = get_wealth(accounts)
write (*, *) "Wealth: ", wealth
end program wealth_test
temp.f95:22:19: 22 | integer :: wealth | 1 Error: Symbol βwealth_testβ at (1) cannot have a type temp.f95:24:9: 24 | wealth = get_wealth(accounts) | 1 Error: βwealthβ at (1) is not a variable temp.f95:25:33: 25 | write (*, *) "Wealth: ", wealth | 1 Error: Symbol at (1) is not appropriate for an expression temp.f95:28:9: 28 | wealth = get_wealth(accounts) | 1 Error: βwealthβ at (1) is not a variable temp.f95:29:33: 29 | write (*, *) "Wealth: ", wealth | 1 Error: Symbol at (1) is not appropriate for an expression temp.f95:32:9: 32 | wealth = get_wealth(accounts) | 1 Error: βwealthβ at (1) is not a variable temp.f95:33:33: 33 | write (*, *) "Wealth: ", wealth | 1 Error: Symbol at (1) is not appropriate for an expression
def maximumWealth(accounts):
max_wealth = 0
for customer in accounts:
wealth = sum(customer)
max_wealth = max(max_wealth, wealth)
return max_wealth
The algorithm iterates through each customer in the given grid (accounts) and calculates their total wealth by summing the values in their bank accounts. After calculating the wealth for a customer, the algorithm checks if it is greater than the current maximum wealth, and if so, the maximum wealth gets updated to the new wealth value. After all iterations, the algorithm returns the maximum wealth found.
The approach is the same for each language, just with minor syntactical differences between them.
int maximumWealth(vector<vector<int>>& accounts) {
int max_wealth = 0;
for (auto& customer : accounts) {
int wealth = 0;
for (int account : customer) {
wealth += account;
}
max_wealth = max(max_wealth, wealth);
}
return max_wealth;
}
The algorithm iterates through each customer in the given grid (accounts) and calculates their total wealth by summing the values in their bank accounts. After calculating the wealth for a customer, the algorithm checks if it is greater than the current maximum wealth, and if so, the maximum wealth gets updated to the new wealth value. After all iterations, the algorithm returns the maximum wealth found.
The approach is the same for each language, just with minor syntactical differences between them.