题目:矩阵对角线元素的和
- 给你一个正方形矩阵 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
代码
class Solution {
public int diagonalSum(int[][] mat) {
int row = mat.length;
int result = 0;
if(row%2==0){
for (int i = 0; i < row; i++) {
result += mat[i][i];
}
for (int i = 0; i < row; i++) {
result += mat[row-1 - i][i];
}
}else {
for (int i = 0; i < row; i++) {
result += mat[i][i];
}
for (int i = 0; i < row; i++) {
result += mat[row-1 - i][i];
}
result -= mat[(row-1)/2][(row-1)/2];
}
return result;
}
}
结果
用时 | 内存 |
---|---|
击败100.00% | 击败 99.49% |
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/matrix-diagonal-sum/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。