JavaScriptでのタプルのインデックスの違い
問題
最初で唯一の引数として、整数の配列arrを受け取るJavaScript関数を作成する必要があります。
次の条件を満たす配列内の2つのインデックスiとjを想定します-
-
i
-
arr [i] <=arr [j]
このようなすべてのインデックスタプル(i、j)のうち、関数は差j --iを返す必要があります。ここで、それは最大値です。
たとえば、関数への入力が-
の場合const arr = [6, 0, 8, 2, 1, 5];
その場合、出力は-
になります。const output = 4;
出力の説明
最大の差は、(i、j)=(1、5):arr [1]=0およびarr[5]=5で達成されます。
例
このためのコードは-
になりますconst arr = [6, 0, 8, 2, 1, 5]; const maximumDifference = (arr = []) => { let max = 0 const stack = [0] for (let i = 1; i < arr.length; i++) { if (arr[i] < arr[stack[stack.length - 1]]) { stack.push(i) } } for (let i = arr.length - 1; i >= 0; i--) { while (arr[i] >= arr[stack[stack.length - 1]]) { max = Math.max(max, i - stack.pop()) } } return max; }; console.log(maximumDifference(arr));
出力
そして、コンソールの出力は-
になります4
-
JavaScriptで合計のバランスを取るための配列インデックス
問題 整数の配列arrを最初で唯一の引数として受け取るJavaScript関数を作成する必要があります。 この関数は、左側の要素の合計が右側の要素の合計と等しくなるように、配列からそのようなインデックスを1つ選択して返す必要があります。配列にそのようなインデックスが存在しない場合は、-1を返す必要があります。 たとえば、関数への入力が-の場合 入力 const arr = [1, 2, 3, 4, 3, 2, 1]; 出力 const output = 3; 出力の説明 インデックス3の両側の要素の合計が等しいため(6)。 例 以下はコードです- const arr =
-
JavaScriptで配列の中央値インデックスを見つける
問題 1次元空間内のさまざまな小惑星の位置を表す配列arrを取り込むJavaScript関数を作成する必要があります。 各小惑星について、絶対値はそのサイズを表し、符号はその方向を表します(正の意味は右、負の意味は左)。各小惑星は同じ速度で移動します。 私たちの機能は、すべての衝突後の小惑星の状態を見つけることになっています。 2つの小惑星が出会うと、小さい方の小惑星が爆発します。両方が同じサイズの場合、両方が爆発します。同じ方向に移動する2つの小惑星が出会うことはありません。 たとえば、関数への入力が-の場合 入力 const arr = [1, 7, 3, 6, 5, 6];