สมมติว่าเรามีเมทริกซ์ของคำสั่ง m x n เรียกว่า บัญชี โดยที่บัญชี[i][j] คือจำนวนเงินของลูกค้าที่อยู่ในธนาคาร jth เราต้องหาความมั่งคั่งที่ลูกค้ารวยที่สุดมี ลูกค้าจะรวยที่สุดเมื่อมีจำนวนเงินสูงสุดเมื่อพิจารณาจากทุกธนาคาร
ดังนั้นหากอินพุตเป็นแบบ
10 | 20 | 15 |
30 | 5 | 20 |
10 | 5 | 12 |
15 | 12 | 3 |
แล้วเอาท์พุตจะเป็น 55 เนื่องจากเงินของบุคคลที่ 2 คือ 30+5+20 =55 ซึ่งสูงสุด
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
max_balue :=0
-
ind_value :=0
-
สำหรับฉันอยู่ในช่วง 0 ถึงแถวนับบัญชี - 1 ทำ
-
ind_value :=ผลรวมของค่าทั้งหมดในบัญชี[i]
-
ถ้า ind_value> max_balue แล้ว
-
max_balue :=ind_value
-
-
-
คืนค่า max_balue
ตัวอย่าง (Python)
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
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 ))
อินพุต
[[10,20,15], [30,5,20], [10,5,12], [15,12,3]]
ผลลัพธ์
55