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
  1. 列出示例2的索引如下:
00 01 02
10 11 12
20 21 22
  1. 可以看出X內的索引滿足i === j或者i + j === n - 1,可以以此判斷當前坐標是否在X

解題思路:

  1. 遍歷grid中每一個元素
  2. 判斷當前元素的索引ij是否在X
  3. 再判斷當前元素的值是否滿足題目要求
/**
 * @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
};
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容