[LeetCode]矩阵对角线元素的和

[LeetCode]矩阵对角线元素的和_第1张图片

[LeetCode]矩阵对角线元素的和_第2张图片 

解题 思路 1:

  • 循环,找到主对角线的下标和副对角线的下标,如果矩阵长或宽为奇数的时候,需要减去中间公共的那一个值,中间公共的那个数的下标为mat[mat.size()/2][mat.size()/2]
  • 副对角线的下标为 mat [i][mat.size()-i-1]
  • class Solution {
    public:
        int diagonalSum(vector>& mat) {
      
            int res = 0 ;
            for(int i = 0 ;i

 对于二维数组,矩阵的副对角线上元素的下标

  • 对于一个二维数组(矩阵),副对角线上的元素可以通过以下方式计算出它们的下标:

        假设矩阵的大小为 n * n,下标从 0 开始计数。

        副对角线上的元素满足两个条件:

                行下标和列下标之和等于 n-1

                行下标不等于列下标

int n = mat.size(); // 矩阵的行数或列数
for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
        if (i + j == n - 1 && i != j) {
            // 当前元素是副对角线上的一个元素
            // 下标为 (i, j)
        }
    }
}

你可能感兴趣的:(LeetCode,算法,leetcode)