JavaScriptを使用して迷路の終わりへのパスを見つける
問題
N*N次の行列をとるJavaScript関数を書く必要があります。マトリックスの壁は「W」でマークされ、空の位置は「_」でマークされます
いつでも4方向のいずれかに移動できます。関数は、最後に到達できる場合はtrueを返し、それ以外の場合はfalseを返す必要があります。
例
以下はコードです-
const maze = [ ['_', 'W', 'W', 'W'], ['_', 'W', 'W', 'W'], ['W', '_', '_', 'W'], ['W', 'W', 'W', '_'] ]; const canFindPath = (m = []) => { let h = m.length; let w = m[0].length; let queue = [[0, 0]]; let mark = (xx, yy) => { [[1, 0], [-1, 0], [0, 1], [0, -1], [0, 0]].map(p => { let [x, y] = [p[0]+xx, p[1]+yy]; if (0 <= x && x < w) { if (0 <= y && y < h) { if (m[y][x] === '.') { m[y][x] = '#'; queue.push([x, y]); } } } }); }; do { let p = queue.shift(); mark(...p); } while (queue.length); return m[h-1][w-1] !== '.'; }; console.log(canFindPath(maze));
出力
true
-
JavaScriptを使用してアルファベットの文字の1ベースのインデックスを検索する
問題 小文字の英語の英字を使用するJavaScript関数を作成する必要があります。この関数は、文字の1ベースのインデックスをアルファベットで返す必要があります。 例 以下はコードです- const char = 'j'; const findCharIndex = (char = '') => { const legend = ' abcdefghijklmnopqrstuvwxyz'; if(!char || !legend.includes(char) || char.lengt
-
JavaScriptを使用して配列内で最も頻繁に使用される単語を検索する
問題 最初の引数として英語の小文字のアルファベットの文字列の配列arrを受け取るJavaScript関数を作成する必要があります。関数の2番目の引数は、数値num(num