1572. Matrix Diagonal Sum

仅供自己学习

 

思路:

直接通过下标的关系获得对角线元素计算,左上到右下的关系为matrix[ i ][ i ],右上到左下为matrix[ i ][row-i-1],那么直接从i计数到row,同时加上上左上到右下与右上到左下的元素,最后判断row为奇数还是偶数,如果是奇数,那么就要把中心的元素减掉,因为重复加了。

代码:

 1 class Solution {
 2 public:
 3     int diagonalSum(vector<vector<int>>& mat) {
 4         int row=mat.size();
 5         int res=0;
 6         for(int i=0;i<row;++i){
 7             res+=mat[i][i]+mat[i][row-i-1];
 8         }
 9         if(row%2){
10             res-=mat[row/2][row/2];
11         }
12         return res;
13     }
14 };

 

posted @ 2021-03-31 11:41  Mrsdwang  阅读(58)  评论(0编辑  收藏  举报