Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで特定のタイプのマトリックスをチェックする


問題

最初で唯一の引数として、リテラルの2次元配列arrを受け取るJavaScript関数を作成する必要があります。

この関数は、左上から右下までのすべての対角線に同じ要素があるかどうかをチェックする必要があります。

その場合は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]

各対角線ではすべての要素が同じであるため、答えは真です。

以下はコードです-

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

  1. JavaScriptで中央にピークのある配列をチェックする

    問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 この関数は、入力配列が中央にピークのある配列であるかどうかをチェックする必要があります。中央にピークのある配列の場合はtrueを返し、そうでない場合はfalseを返す必要があります。 中央にピークのあるアレイになるための条件は次のとおりです- =3 次のような0

  2. JavaScriptで特別な番号をチェックする

    問題 最初で唯一の引数として数値numを受け取るJavaScript関数を作成する必要があります。 数値numの桁の合計が回文数の場合はtrueを返し、それ以外の場合はfalseを返す必要があります。 たとえば、関数への入力が-の場合 const num = 781296; その場合、出力は-になります。 const output = true; 出力の説明 781296の桁の合計が33であるため、これは回文数です。 例 以下はコードです- const num = 781296; const findSum = (num, sum = 0) => { if(num){ re