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

JavaScriptの配列で奇数偶数インデックス要素の合計を等しくするための可能な方法の合計


最初で唯一の引数として数値の配列を受け取るJavaScript関数を作成する必要があります。

次に、関数はそのような要素の1つを配列から削除しようとします。削除すると、奇数のインデックスの要素の合計は偶数のインデックスの要素の合計に等しくなります。このように、関数は、必要な組み合わせを実現するために一度に1つの要素を削除できるすべての可能な一意の方法をカウントする必要があります。

例-

入力配列が-

の場合
const arr = [2, 6, 4, 2];

組み合わせテーブルを作成するインデックス1と3にそれぞれ2つの要素6と2があるため、出力は2になります。

配列から6を削除すると-

[2, 4, 2] so the sum at odd indices = sum at even indices = 4

配列から2を削除すると-

[2, 6, 4] so the sum at odd indices = sum at even indices = 6

以下はコードです-

const arr = [2, 6, 4, 2];
const possibleWays = (arr = []) => {
   const sum = new Array(arr.length);
   let res = 0;
   let oddSum = 0;
   let evenSum = 0;
   for (let i = 0; i < arr.length; ++i) {
      if (i % 2 === 0) sum[i] = (evenSum += arr[i]);
      else sum[i] = (oddSum += arr[i]);
   }
   for (let i = 0; i < arr.length; ++i) {
      if (i % 2 === 0) {
         if (2 * sum[i] - arr[i] + oddSum === 2 * (sum[i - 1] || 0) + evenSum) ++res;
      } else if (2 * sum[i] - arr[i] + evenSum === 2 * (sum[i - 1] || 0) + oddSum) {
         ++res;
      }
   }
   return res;
};
console.log(possibleWays(arr));

出力

以下はコンソール出力です-

2

  1. JavaScriptで配列の合計を偶数または奇数として決定する

    問題 整数の配列arrを受け取るJavaScript関数を作成する必要があります。この関数は、配列のすべての要素の合計が奇数の場合は文字列「odd」を返し、偶数の場合は「even」を返す必要があります。 例 以下はコードです- const arr = [5, 1, 8, 4, 6, 9]; const assignSum = (arr = []) => {    const sum = arr.reduce((acc, val) => {       return acc + val;    }, 0); &

  2. JavaScriptを使用した2次元配列の要素の交互の合計

    問題 同じ数の行と列を含む数のmXnオーダーの2次元配列を受け取るJavaScript関数を作成する必要があります。 この配列の場合、関数は次の合計をカウントして返す必要があります- $ \ sum_ {i =1} ^ m \ sum_ {j =1} ^ n(-1)^ {i + j} a_ {ij} $ 例 以下はコードです- const arr = [    [4, 6, 3],    [1, 8, 7],    [2, 5, 9] ]; const alternateSum = (arr = []) => { &n