LeetCode简单题之矩阵对角线元素的和
生活随笔
收集整理的這篇文章主要介紹了
LeetCode简单题之矩阵对角线元素的和
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目
給你一個正方形矩陣 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
來源:力扣(LeetCode)
解題思路
??題目給出的矩陣是一個方陣,想要訪問對角線上的元素只需要一個兩個對稱的指針即可;另外需要考慮一個細節(jié),就是當矩陣的行列數(shù)為奇數(shù)的時候矩陣的中心點需要特殊的處理。
class Solution:def diagonalSum(self, mat: List[List[int]]) -> int:n=len(mat)s=0i=0while i<n:s+=mat[i][i]+mat[i][n-i-1]i+=1return s-mat[n//2][n//2] if n%2 else s
總結(jié)
以上是生活随笔為你收集整理的LeetCode简单题之矩阵对角线元素的和的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之数组的相对排序
- 下一篇: LeetCode简单题之设计停车系统