Giả sử chúng ta có một ma trận thứ tự m x n gọi là các tài khoản trong đó tài khoản [i] [j] là số tiền của khách hàng thứ i hiện có tại ngân hàng thứ j. Chúng ta phải tìm ra của cải mà khách hàng giàu nhất có. Một khách hàng giàu nhất khi họ có số tiền tối đa nếu xét tất cả các ngân hàng.
Vì vậy, nếu đầu vào giống như
10 | 20 | 15 |
30 | 5 | 20 |
10 | 5 | 12 |
15 | 12 | 3 |
thì sản lượng sẽ là 55 vì số tiền của người thứ hai là 30 + 5 + 20 =55, là tối đa.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
max_balue:=0
-
ind_value:=0
-
đối với tôi trong phạm vi 0 đến số hàng của tài khoản - 1, thực hiện
-
ind_value:=tổng của tất cả các giá trị trong tài khoản [i]
-
nếu ind_value> max_balue thì
-
max_balue:=ind_value
-
-
-
trả về max_balue
Ví dụ (Python)
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
def solve(accounts): max_balue = 0 ind_value = 0 for i in range(len(accounts)): ind_value = sum(accounts[i]) if ind_value > max_balue: max_balue = ind_value return max_balue accounts = [[10,20,15], [30,5,20], [10,5,12], [15,12,3]] print(solve(accounts ))
Đầu vào
[[10,20,15], [30,5,20], [10,5,12], [15,12,3]]
Đầu ra
55