LeetCode题解:2319. 判断矩阵是否是一个 X 矩阵,JavaScript,详细注释

原题链接:
https://leetcode.cn/problems/check-if-matrix-is-x-matrix/

理解题意:

  1. 列出示例1的索引如下:

    00 01 02 03
    10 11 12 13
    20 21 22 23
    30 31 32 33

  2. 列出示例2的索引如下:

    00 01 02
    10 11 12
    20 21 22

  3. 可以看出X内的索引满足i === j或者i + j === n - 1,可以以此判断当前坐标是否在X内

解题思路:

  1. 遍历grid中每一个元素
  2. 判断当前元素的索引i和j是否在X内
  3. 再判断当前元素的值是否满足题目要求
javascript 复制代码
/**
 * @param {number[][]} grid
 * @return {boolean}
 */
var checkXMatrix = function(grid) {
  // 矩阵长度n
  const n = grid.length
  // 矩阵最后一位索引last
  const last = n - 1

  // 遍历每个位置
  for (let i = 0; i < n; i++) {
    for (let j = 0; j < n; j++) {
      // 如果当前位置为X中的元素
      if (i === j || (i + j === last)) {
        // 如果X中的元素值为0,不符合要求
        if (grid[i][j] === 0) {
          return false
        }
      } else {
        // 如果X以外的元素值不为0,不符合要求
        if (grid[i][j] !== 0) {
          return false
        }
      }
    }
  }

  // 正常退出循环,表示符合条件
  return true
};
相关推荐
麦麦麦当劳大王11 小时前
【油猴脚本】Boss直聘 岗位职责复制
开发语言·前端·javascript
只睡四小时12 小时前
Three.js Sub-tick:漏判 60.7%→0
开发语言·javascript·性能优化·ecmascript·游戏开发·three.js·碰撞检测
excel13 小时前
基于 GPT 的自动发布文章接口方案:从一句话或一张图片生成并发布内容
前端·javascript·后端
Nuanyt15 小时前
LeetCode Hot 100 链表专题(五)· 2 题(Java)
java·算法·leetcode·链表
圣保罗的大教堂18 小时前
leetcode 3736. 最小操作次数使数组元素相等 III 简单
leetcode
OpsEye18 小时前
大模型 Token 计量不准,是什么原因,怎么解决??
javascript·ai编程
文丑颜不良啊19 小时前
LeetCode1881~1990题目解析
java·leetcode
独隅20 小时前
WebStorm Windows 版 React / Next.js 实战替换指南
javascript·windows·webstorm
冷眸_20 小时前
同名食材不能直接相减:一个 JavaScript 用量模型的边界
javascript
apollo_qwe20 小时前
接口超时了,前端为什么不能直接重试?
javascript·http