g1501_1600.s1572_matrix_diagonal_sum.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
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