算法:矩阵对角线元素的和

leetcode 矩阵对角线元素的和
算法:矩阵对角线元素的和_第1张图片

一个正方形矩阵,求对角线元素的和


代码:

int diagonalSum(int** mat, int matSize, int* matColSize){
    int sum = 0;
    for (int i = 0; i < matSize; i++) {
        sum = sum + mat[i][i];
        sum = sum + mat[i][matSize - 1 - i];
    }
    if (matSize % 2 == 1) sum = sum - mat[matSize / 2][matSize / 2];
    return sum;
}

正方形由两个对角线,一个是行和列的下标是相等,一个是行和列的小标之和为总行数减一。

在总行数为奇数的时候,会重复相加那个中心的数,如果总行数为奇数,就要减去一个中心的数。

结果
算法:矩阵对角线元素的和_第2张图片

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