现在 做网站 技术路线,亚洲杯篮球直播在什么网站,东莞南城外贸网站建设,wordpress省理工大学文章目录 题目思路代码 题目
1572. 矩阵对角线元素的和
难度#xff1a; 简单
描述#xff1a;
给你一个正方形矩阵 mat#xff0c;请你返回矩阵对角线元素的和。
请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。
返回合并后的二叉树。
注意… 文章目录 题目思路代码 题目
1572. 矩阵对角线元素的和
难度 简单
描述
给你一个正方形矩阵 mat请你返回矩阵对角线元素的和。
请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。
返回合并后的二叉树。
注意: 合并过程必须从两个树的根节点开始。
示例 1 输入mat [[1,2,3], [4,5,6], [7,8,9]] 输出25 解释对角线的和为1 5 9 3 7 25 请注意元素 mat[1][1] 5 只会被计算一次。 示例 2 输入mat [[1,1,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]] 输出8 示例3 输入mat [[5]] 输出5 提示
-n mat.length mat[i].length1 n 1001 mat[i][j] 100
思路
时间复杂度分析根据分析m和n的范围可以使用暴力法两层for循环来解题 时间复杂度为O(n^2) 同时我们观察分析可以求出对角线的和因此时间复杂度可以降低到O(n) 空间复杂度 O(1) 解法思路使用一层for循环来求出对角线的和同时根据阶数的奇偶性奇数的话需要减一次中间值偶数的话不用
代码
class Solution {public int diagonalSum(int[][] mat) {int m mat.length;int n mat[0].length;int sum 0;for(int i 0;im;i){sum mat[i][i];}for(int j 0;jn;j){sum mat[j][n-j-1];if(n % 2 1){sum - mat[n/2][m/2];}return sum;}
}