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

JavaScriptで最大合計のサブセット


整数の配列を受け取るJavaScript関数を作成する必要があります。私たちの関数は、最大の合計を持つ隣接していない要素のサブセットを見つけるために必要です。

そして最後に、関数はそのサブセットの合計を計算して返す必要があります。

例-

入力配列が-

の場合
const arr = [3, 5, 7, 8, 10];

隣接していない数値のサブセットは3、7、および10になるため、出力は20になります。

このためのコードは-

になります
const arr = [3, 5, 7, 8, 10];
const maxSubsetSum = (arr = []) => {
   let min = −Infinity
   const helper = (arr, ind) => {
      if ( ind < 0 ){
         return min
      };
      let inc = helper(arr, ind−2);
      let notInc = helper(arr, ind−1);
      inc = inc == min ? arr[ind] : Math.max(arr[ind], arr[ind] + inc);
      return Math.max( inc, notInc );
   };
   return helper(arr, arr.length − 1);
};
console.log(maxSubsetSum(arr));

出力

そして、コンソールの出力は-

になります
20

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

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

  2. C++で指定された合計の最大サイズサブセット

    問題の説明 N個の要素と合計の配列が与えられます。合計が与えられた合計に等しい最大サイズのサブセットのサイズを見つける必要があります 例 入力配列がarr={2、3、5、10}でsum =20の場合、出力は-として4になります。 2 + 3 + 5 + 10=20これは与えられた合計に等しい アルゴリズム 動的計画法を使用してこの問題を解決できます。 最大サブセットをカウントするには、別のDP配列(「カウント配列」と呼ばれます)を使用します。ここで、count[i][j]は最大です。 count[i][j-1]。ここでは、現在の要素は考慮されていません。 scount [i-