檢查 JavaScript 中特定型別的矩陣
問題
我們需要編寫一個 JavaScript 函式,其採用一個文字 2-D 陣列 arr 作為第一個且唯一引數。
我們的函式應檢查每一個從左上到右下的對角線是否具有相同的元素。
如果是,我們應返回 true,否則返回 false。
例如,如果函式的輸入為
輸入
const arr = [ [6, 7, 8, 9], [2, 6, 7, 8], [1, 2, 6, 7], ];
輸出
const output = true;
輸出說明
在上邊陣列中,對角線為 −
[1], [2,2], [6,6,6], [7,7,7], [8,8], [9]
每個對角線中的所有元素都相同,因此答案為 True。
示例
以下為程式碼 −
const arr = [
[6, 7, 8, 9],
[2, 6, 7, 8],
[1, 2, 6, 7],
];
const checkMatrix = (arr = []) => {
const validate = (row, col) => {
while (
row < arr.length
&& col < arr[0].length
&& arr[row + 1]
&& arr[row + 1][col + 1] !== undefined
) {
if (arr[row + 1][col + 1] !== arr[row][col]) {
return false
}
row += 1
col += 1
}
return true
}
for (let i = 0; i < arr[0].length; i++) {
if (!validate(0, i)) {
return false
}
}
for (let i = 0; i < arr.length; i++) {
if (!validate(i, 0)) {
return false
}
}
return true
}
console.log(checkMatrix(arr));輸出
true
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP