給你一個正方形矩陣 mat,請你返回矩陣對角線元素的和。
請你返回在矩陣主對角線上的元素和副對角線上且不在主對角線上元素的和。
輸入:mat = [[1,2,3],[4,5,6],[7,8,9]]
輸出:25
解釋:對角線的和為:1 + 5 + 9 + 3 + 7 = 25
請注意,元素 mat[1][1] = 5 只會被計算一次。
示例二
輸入:mat = [[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]]
輸出:8
示例三
輸入:mat = [[5]]
輸出:5
代碼實現
public class DiagonalSum {public static int diagonalSum(int[][] mat) {int sum = 0;int len = mat.length - 1;for (int i = 0; i < mat.length; i++) {if (i != len) {sum += mat[i][i] + mat[i][len];} else {sum += mat[i][i];}len --;}return sum;}public static void main(String[] args) {int[][] arr = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};System.out.println(diagonalSum(arr));}
}