网络异常,图片无法展示
|
题目地址(1572. 矩阵对角线元素的和)
题目描述
给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 输入:mat = [[1,2,3], [4,5,6], [7,8,9]] 输出:25 解释:对角线的和为:1 + 5 + 9 + 3 + 7 = 25 请注意,元素 mat[1][1] = 5 只会被计算一次。 示例 2: 输入:mat = [[1,1,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]] 输出:8 示例 3: 输入:mat = [[5]] 输出:5 提示: n == mat.length == mat[i].length 1 <= n <= 100 1 <= mat[i][j] <= 100
思路
暴力法或者逐行遍历
代码
- 语言支持:Python3
Python3 Code:
class Solution: def diagonalSum(self, mat: List[List[int]]) -> int: matLength = len(mat) res = 0 for i in range(matLength): for j in range(matLength): if i == j or (i+j)==(matLength-1): res += mat[i][j] return res
复杂度分析
令 n 为数组长度。
- 时间复杂度:O(n^2)O(n2)
- 空间复杂度:O(1)O(1)