查找矩阵中 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