สมมติว่าเรามีเมทริกซ์ 2 มิติ เราต้องตรวจสอบว่าผลรวมของแถวที่ i เท่ากับผลรวมของคอลัมน์ที่ i หรือไม่
ดังนั้นหากอินพุตเป็นแบบ
2 | 3 | 4 | 5 |
10 | 6 | 4 | 2 |
1 | 4 | 6 | 7 |
1 | 5 | 6 | 7 |
จากนั้นผลลัพธ์จะเป็น True เนื่องจากผลรวมของแถวและคอลัมน์แรกคือ (2 + 3 + 4 + 5) =14 และ (2 + 10 + 1 + 1) =14
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- row :=จำนวนแถวของ mat
- col :=จำนวนคอลัมน์ของ mat
- total_row :=0, total_col :=0
- สำหรับฉันในช่วง 0 ถึงแถว - 1 ทำ
- total_row :=0, total_col :=0
- สำหรับ j ในช่วง 0 ถึง col - 1 ทำ
- total_row :=total_row + mat[i, j]
- total_col :=total_col + mat[j, i]
- ถ้า total_row เหมือนกับ total_col แล้ว
- คืนค่า True
- คืนค่าเท็จ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
โค้ดตัวอย่าง
def Solve(mat):row =len(mat) col =len(mat[0]) total_row =0 total_col =0 สำหรับฉันในช่วง (แถว):total_row =0 total_col =0 สำหรับ j ในช่วง (col ):total_row +=mat[i][j] total_col +=mat[j][i] if total_row ==total_col:return True return เมทริกซ์เท็จ =[ [2,3,4,5], [10,6, 4,2], [1,4,6,7], [1,5,6,7]] พิมพ์(แก้(เมทริกซ์))
อินพุต
<ก่อน>[ [1,2,3,4],[9,5,3,1],
[0,3,5,6],[0,4,5,6]
]ผลลัพธ์
จริง