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. 判断当前元素的索引ij是否在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
};
相关推荐
weixin_4462608529 分钟前
Typora 插件开发实战:基于 JavaScript/HTML 构建定制化 Markdown 扩展
开发语言·javascript·html
如烟花的信页30 分钟前
某管理服务平台点选逆向分析
javascript·爬虫·python·js逆向
qq43569470136 分钟前
Vue02
开发语言·前端·javascript
如竟没有火炬44 分钟前
恢复二叉搜索树
数据结构·数据库·python·leetcode·动态规划
小李云雾1 小时前
Pinia:Vue3 全局状态管理从入门到精通
前端·javascript·vue.js
如竟没有火炬1 小时前
整数拆分——动态规划
开发语言·数据结构·python·算法·leetcode·动态规划
风吹夏回1 小时前
Vue3 + Element Plus 完整使用指南
前端·javascript·vue.js·element
疯狂SQL10 小时前
JWT 在线解码、验签、生成一篇讲透:附前端实现、工具架构与在线体验地址
javascript·jwt·编解码·jwt测试
前端一小卒10 小时前
不手写代码的第 30 天,我才明白前端这个岗位还剩什么
前端·javascript·ai编程
Ajie'Blog10 小时前
Copilot Agent Tasks API 开放:AI 编程开始进入后台任务时代
服务器·前端·javascript·人工智能·copilot·ai编程