给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。
请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。
直接加即可:
class Solution {
public:
int diagonalSum(vector<vector<int>>& mat) {
int sz = mat.size();
int res = 0;
for (int i = 0; i < sz; ++i) {
res += mat[i][i] + mat[i][sz - i - 1];
}
if (sz & 1) { // 边长为奇数的正方形中间的数字会被加两次,减去它即可
res -= mat[sz / 2][sz / 2];
}
return res;
}
};