JavaScriptで最大の合計と最小のインデックスの違い
問題
整数の配列arrを最初で唯一の引数として受け取るJavaScript関数。
関数は、(arr [i] + arr [j])+(i --j)が配列内のすべてのインデックスペアの中で最大になるように、インデックスペア(i、j)を選択する必要があります。この場合、関数は最大値を返す必要があります。
たとえば、関数への入力が-
の場合const arr = [8, 1, 5, 2, 6];
その場合、出力は-
になります。const output = 11;
出力の説明
i=0およびj=2を選択すると、値は-
になるためです。(8 + 5) + (0 - 2) = 11
これは実際、どのインデックスペアでも最大です。
例
このためのコードは-
になりますconst arr = [8, 1, 5, 2, 6]; const findMaximum = (arr = []) => { let max = arr[0] + 0; let res = -Infinity; for(let i = 1; i < arr.length; i++){ res = Math.max(res, max + arr[i] - i); max = Math.max(arr[i] + i, max); }; return res; }; console.log(findMaximum(arr));
出力
そして、コンソールの出力は-
になります11
-
JavaScriptのインデックス合計でも
問題 整数の配列を受け取るJavaScript関数を作成する必要があります。この関数は、偶数のインデックスを持つすべての整数の合計に、最後のインデックスの整数を掛けたものを返す必要があります。 const arr = [4, 1, 6, 8, 3, 9]; 期待される出力- const output = 117; 例 以下はコードです- const arr = [4, 1, 6, 8, 3, 9]; const evenLast = (arr = []) => { if (arr.length === 0) { r
-
JavaScriptのパーティションの平均の最大合計
問題 最初の引数として数値の配列arrを取り、2番目の引数として数値num(num <=arrのサイズ)を受け取るJavaScript関数を作成する必要があります。 この関数は、要素を残さないように、配列arrを最大でnum個の隣接する(空でない)グループに分割する必要があります。 このようなすべてのパーティションから、すべてのグループの平均の合計が最大になるパーティションを関数で選択する必要があります。 そして最後に、この最大の金額を返す必要があります。 たとえば、関数への入力が 入力 const arr = [10, 2, 3, 4, 10]; const num = 3;