All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g1501_1600.s1572_matrix_diagonal_sum.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g1501_1600.s1572_matrix_diagonal_sum;

// #Easy #Array #Matrix #Programming_Skills_I_Day_7_Array #Udemy_2D_Arrays/Matrix
// #2023_09_03_Time_0_ms_(100.00%)_Space_43.9_MB_(57.91%)

/**
 * 1572 - Matrix Diagonal Sum\.
 *
 * Easy
 *
 * Given a square matrix `mat`, return the sum of the matrix diagonals.
 *
 * Only include the sum of all the elements on the primary diagonal and all the elements on the secondary diagonal that are not part of the primary diagonal.
 *
 * **Example 1:**
 *
 * ![](https://assets.leetcode.com/uploads/2020/08/14/sample_1911.png)
 *
 * **Input:** mat = \[\[**1** ,2, **3** ], 
 *                   [4, **5** ,6], 
 *                   [**7** ,8, **9** ]]
 *
 * **Output:** 25
 *
 * **Explanation:** Diagonals sum: 1 + 5 + 9 + 3 + 7 = 25 Notice that element mat[1][1] = 5 is counted only once.
 *
 * **Example 2:**
 *
 * **Input:** mat = \[\[**1** ,1,1, **1** ], 
 *                   [1, **1** , **1** ,1], 
 *                   [1, **1** , **1** ,1], 
 *                   [**1** ,1,1, **1** ]]
 *
 * **Output:** 8
 *
 * **Example 3:**
 *
 * **Input:** mat = \[\[**5** ]]
 *
 * **Output:** 5
 *
 * **Constraints:**
 *
 * *   `n == mat.length == mat[i].length`
 * *   `1 <= n <= 100`
 * *   `1 <= mat[i][j] <= 100`
**/
public class Solution {
    public int diagonalSum(int[][] mat) {
        int len = mat.length;
        int sum = 0;
        for (int i = 0; i < len; i++) {
            sum += mat[i][i] + mat[i][len - 1 - i];
        }
        if (len % 2 != 0) {
            sum -= mat[len / 2][len / 2];
        }
        return sum;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy