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

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

  1. JavaScriptで合計のバランスを取るための配列インデックス

    問題 整数の配列arrを最初で唯一の引数として受け取るJavaScript関数を作成する必要があります。 この関数は、左側の要素の合計が右側の要素の合計と等しくなるように、配列からそのようなインデックスを1つ選択して返す必要があります。配列にそのようなインデックスが存在しない場合は、-1を返す必要があります。 たとえば、関数への入力が-の場合 入力 const arr = [1, 2, 3, 4, 3, 2, 1]; 出力 const output = 3; 出力の説明 インデックス3の両側の要素の合計が等しいため(6)。 例 以下はコードです- const arr =

  2. JavaScriptで配列の中央値インデックスを見つける

    問題 1次元空間内のさまざまな小惑星の位置を表す配列arrを取り込むJavaScript関数を作成する必要があります。 各小惑星について、絶対値はそのサイズを表し、符号はその方向を表します(正の意味は右、負の意味は左)。各小惑星は同じ速度で移動します。 私たちの機能は、すべての衝突後の小惑星の状態を見つけることになっています。 2つの小惑星が出会うと、小さい方の小惑星が爆発します。両方が同じサイズの場合、両方が爆発します。同じ方向に移動する2つの小惑星が出会うことはありません。 たとえば、関数への入力が-の場合 入力 const arr = [1, 7, 3, 6, 5, 6];