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

JavaScriptですべての一意のパスを見つける


m*n次の配列があるとします。人は2次元配列の開始ブロック(0,0)から開始し、終了(m、n)に到達したいと考えています。制限は、一度に1ステップ下または1ステップ右に移動できることです。

2次元グリッドの高さと幅を取り込むJavaScript関数を作成する必要があります。

関数は、人が最後まで到達するために利用できる一意のパスの数を見つける必要があります。

以下はコードです-

const height = 3;
const width = 4;
const findUniquePath = (width = 1, height = 1) => {
   const board = Array(height).fill(null).map(() => {
      return Array(width).fill(0);
   });
   for (let rowIndex = 0; rowIndex < height; rowIndex += 1) {
      for (let columnIndex = 0; columnIndex < width; columnIndex += 1) {
         if (rowIndex === 0 || columnIndex === 0) {
            board[rowIndex][columnIndex] = 1;
         }
      }
   }
   for (let rowIndex = 1; rowIndex < height; rowIndex += 1) {
      for (let columnIndex = 1; columnIndex < width; columnIndex += 1) {
         const uniquesFromTop = board[rowIndex - 1][columnIndex];
         const uniquesFromLeft = board[rowIndex][columnIndex - 1];
         board[rowIndex][columnIndex] = uniquesFromTop + uniquesFromLeft;
      }
   }
   return board[height - 1][width - 1];
};
console.log(findUniquePath(width, height));

出力

以下はコンソールでの出力です-

10

  1. JavaScriptを使用して配列内の唯一の一意の文字列を検索する

    問題 文字列の配列を受け取るJavaScript関数を作成する必要があります。配列内のすべての文字列には同じ文字または文字の繰り返しが含まれ、1つの文字列だけに異なる文字のセットが含まれます。関数はその文字列を見つけて返す必要があります。 例 配列が-の場合 [‘ba’, 'abc', 'acb', 'bac', 'foo', 'bca', 'cab', 'cba' ] その場合、必要な文字列は「foo」です。 文字列にはスペースを含めることができ

  2. JavaScriptを使用して配列内のすべての一般的な要素の合計を見つける

    問題 3つの数値配列を受け取るJavaScript関数を作成する必要があります。この関数は、3つの配列すべてに共通するすべての数値の合計を返す必要があります。 例 以下はコードです- const arr1 = [4, 4, 5, 8, 3]; const arr2 = [7, 3, 7, 4, 1]; const arr3 = [11, 0, 7, 3, 4]; const sumCommon = (arr1 = [], arr2 = [], arr3 = []) => {    let sum = 0;    for(let i = 0; i