查詢矩陣中 Z 形元素和的 Python 程式
假設我們有一個 n x n 矩陣 M,我們需要查詢形成矩陣中 Z 形的所有元素的和。
因此,如果輸入如下
| 4 | 3 | 2 |
| 9 | 1 | 8 |
| 2 | 5 | 6 |
那麼輸出將是 23,因為元素是 [4 + 3 + 2 + 1 + 2 + 5 + 6] = 23。
為了解決這個問題,我們將遵循以下步驟 -
- n := 矩陣的行數
- 如果 n <= 2,那麼
- 返回矩陣中所有元素的和
- first_row := 第一行元素的和
- last_row := 最後一行元素的和
- diagonal = 矩陣[i, n-1-i] 的和,對於所有 i 從 1 到 n-2
- 返回 first_row + last_row + diagonal
讓我們看看以下實現以獲得更好的理解 -
示例
class Solution: def solve(self, matrix): n = len(matrix) if n <= 2: return sum(sum(row) for row in matrix) first_row = sum(matrix[0]) last_row = sum(matrix[n-1]) diagonal = sum(matrix[i][n-1-i] for i in range(1, n-1)) return first_row + last_row + diagonal ob = Solution() matrix = [ [4, 3, 2], [9, 1, 8], [2, 5, 6] ] print(ob.solve(matrix))
輸入
matrix = [[4, 3, 2], [9, 1, 8], [2, 5, 6]]
輸出
23
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 語言
C++
C#
MongoDB
MySQL
JavaScript
PHP