一、题目描述
如果一个正方形矩阵满足下述 全部 条件,则称之为一个 X 矩阵 :
矩阵对角线上的所有元素都 不是 0
矩阵中所有其他元素都是 0
给你一个大小为 n x n 的二维整数数组 grid ,表示一个正方形矩阵。如果 grid 是一个 X 矩阵 ,返回 true ;否则,返回 false 。
二、解题思路过程
/**
* @param {number[][]} grid
* @return {boolean}
*/
var checkXMatrix = function(grid) {
var flag = 1; // 创建旗帜变量
var n = grid.length;
for(var i=0;i<n;i++){
for(var j=0;j<n;j++){ // 两层循环遍历二维数组
if(i==j||i==n-j-1){ // 对角线:i与j相等或i与j和为n-1
if(grid[i][j]==0){ // 进行反向判断
flag=0;
}
}else{
if(grid[i][j]!=0){
flag=0;
};
};
};
};
return flag;
};
三、复杂度分析
时间复杂度:,其中 n为正方形矩阵 grid 的行列数。
空间复杂度:,仅使用常量空间。
四、题目来源
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/check-if-matrix-is-x-matrix