概述
LeetCode刷题14——矩阵对角元素的和2020.11.01
- 题目
- 思路
题目
给你一个正方形矩阵 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
思路
做法比较简单,先获取二维数组的行数或者列数。注意
行数:matrix.size();
列数:matrix[0].size();
然后把主副轴元素都加在一起。之后判断行数是否为奇数,若是奇数则需要把中间重复的一个元素减去。
代码如下
class Solution {
public:
int diagonalSum(vector<vector>& mat) {
int size;
int ans=0;
size = mat.size();//获取行数,行数=列数
for(int i=0;i<size;++i){
ans += mat[i][i];
ans += mat[i][size-1-i];
}
if(size%2==1){ //若是奇数数组,把中间多加的一个数字减掉
ans -= mat[(size-1)/2][(size-1)/2];
}
return ans;
}
};
最后
以上就是认真火龙果为你收集整理的LeetCode刷题14——矩阵对角元素的和2020.11.01题目的全部内容,希望文章能够帮你解决LeetCode刷题14——矩阵对角元素的和2020.11.01题目所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复