TheAlgorithms-Ruby/data_structures/arrays/richest_customer_wealth.rb
Vitor Oliveira 8bb781f790 Minor fixes
2021-09-03 13:24:58 -07:00

56 lines
1.5 KiB
Ruby
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Challenge name: Richest Customer Wealth
#
# You are given an m x n integer grid accounts where accounts[i][j]
# is the amount of money the ith customer has in the jth 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
#
# Approach: Brute Force
#
# Time Complexity: O(n)
#
def find_richest_customer_wealth(accounts)
summed_accounts = []
accounts.each do |customer|
summed = 0
customer.each do |account|
summed += account
end
summed_accounts.push(summed)
end
summed_accounts.sort.pop
end
puts find_richest_customer_wealth([[1, 2, 3], [3, 2, 1]])
# => 6
puts find_richest_customer_wealth([[1, 5], [7, 3], [3, 5]])
# => 10
puts find_richest_customer_wealth([[2, 8, 7], [7, 1, 3], [1, 9, 5]])
# => 17