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
};
相关推荐
乐兮创想 小林12 分钟前
B2B 内容营销的工程化运营:从内容矩阵建模到 SEO/GEO 联动的完整体系
前端·线性代数·矩阵·网站建设·北京网站建设公司
BomanGe214 分钟前
NSK直线导轨LH55EL与NH55EM替代指南
前端·javascript·数据库·经验分享·规格说明书
云水一下14 分钟前
Vue.js从零到精通系列(四):前端路由与Vue Router——打造多页单页应用
前端·javascript·vue.js
研☆香24 分钟前
jQuery补充知识点
前端·javascript·jquery
先吃饱再说26 分钟前
JavaScript栈和队列:从“冰柜里的雪糕”到“排队打饭”
javascript·数据结构
槑有老呆28 分钟前
JavaScript 数组,远不止 [] 那么简单
javascript
HjhIron41 分钟前
从栈到队列,再到链表:前端开发者必知的线性数据结构
前端·javascript
阿猫的故乡43 分钟前
Vue自定义指令从入门到实用:自动聚焦、权限控制、防抖、懒加载……全案例教学
前端·javascript·vue.js
该用户已成仙1 小时前
vue3 使用 vuedraggable 报错 TypeError: isFunction2 is not a function
前端·javascript·vue.js
承渊政道1 小时前
【MySQL数据库学习】MySQL基本查询(下)
数据库·学习·mysql·leetcode·bash·数据库开发·数据库系统