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

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

  1. 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

  2. JavaScriptのパーティションの平均の最大合計

    問題 最初の引数として数値の配列arrを取り、2番目の引数として数値num(num <=arrのサイズ)を受け取るJavaScript関数を作成する必要があります。 この関数は、要素を残さないように、配列arrを最大でnum個の隣接する(空でない)グループに分割する必要があります。 このようなすべてのパーティションから、すべてのグループの平均の合計が最大になるパーティションを関数で選択する必要があります。 そして最後に、この最大の金額を返す必要があります。 たとえば、関数への入力が 入力 const arr = [10, 2, 3, 4, 10]; const num = 3;