JavaScriptでの再帰的な階段の問題
次の問題があるとします-
n段の階段があり、一番下に立っている人が一番上に行きたがっています。人は一度に1つまたは2つの階段を上ることができます。人がトップに到達できる方法の数を数える必要があります。
階段の数を表す数nを受け取るJavaScript関数を作成する必要があります。この関数は、階段を上ることができる方法の数をカウントして返す必要があります。
例
以下はコードです-
const recursiveStaircase = (num = 10) => { if (num <= 0) { return 0; } const steps = [1, 2]; if (num <= 2) { return steps[num - 1]; } for (let currentStep = 3; currentStep <= num; currentStep += 1) { [steps[0], steps[1]] = [steps[1], steps[0] + steps[1]]; } return steps[1]; }; console.log(recursiveStaircase()); console.log(recursiveStaircase(4)); console.log(recursiveStaircase(13));
出力
以下はコンソールでの出力です-
89 5 377
-
問題:JavaScriptでトマトが腐敗するのにかかる時間
問題 唯一の引数として、数値の2次元配列arrを受け取るJavaScript関数を作成する必要があります。 配列内の数値は-にすることができます 空のセルを表す値0; フレッシュトマトを表す値1; 腐ったトマトを表す値2。 毎分、腐ったトマトに(4方向に)隣接しているフレッシュトマトは腐ります。 私たちの関数は、新鮮なトマトがなくなるまで経過しなければならない最小分数を返すことになっています。これが不可能な場合は、代わりに-1を返す必要があります。 たとえば、関数への入力が-の場合 const arr = [ [2, 1, 1], &n
-
クラックアルファベットはJavaScriptで問題と戦う
問題 2つのアルファベットの軍隊が互いに戦っている状況を考えてみましょう。両方のソルジャーとその重量は次のとおりです- TeamA 兵士 重量 A 1 B 2 C 3 D 4 TeamB 兵士 重量 W 1 X 2 Y 3 Z 4 兵士のほかに、「!」で示されるアリーナにも爆弾があり、爆弾は隣接する側に配置された兵士を殺します。 例:「A!BC」は「C」になり、「!!CC!!」は「」になります。 私たちの機能は、アリ