左右のサブアレイ合計積-JavaScript
長さN(Nは偶数である必要があります)の数の配列を受け取り、その配列をそれぞれN / 2個の要素を含む2つのサブ配列(左と右)に分割し、合計を行うJavaScript関数を作成する必要があります。サブ配列を作成してから、両方のサブ配列を乗算します。
例:入力配列が-
の場合const arr = [1, 2, 3, 4]
その場合、出力は-
になります。(2+1) * (3+4) = 21
例
以下はコードです-
const arr = [1, 2, 3, 4] const subArrayProduct = arr => { const { length: l } = arr; const creds = arr.reduce((acc, val, ind) => { let { left, right } = acc; if(ind < l/2){ left += val; }else{ right += val; } return { left, right }; }, { left: 0, right: 0 }); return creds.left * creds.right; }; console.log(subArrayProduct(arr));
出力
以下はコンソールの出力です-
21
-
JavaScriptを使用した循環配列の最大サブ配列合計
問題 最初で唯一の引数として、整数の配列arrを受け取るJavaScript関数を作成する必要があります。 この配列arrは循環配列と見なすことができます。つまり、配列の最後の要素の後に最初の要素が続きます。この関数は、空でないarrのサブ配列の可能な最大合計を見つけて返す必要があります。 たとえば、関数への入力が 入力 const arr = [2, -2, 3, -1]; 出力 const output = 4; 出力の説明 目的のサブアレイは[3、-1、2]であるため 例 const arr = [2, -2, 3, -1]; const maxSubarraySum
-
JavaScriptのターゲットよりわずかに少ないサブ配列の製品
問題 最初の引数として数値の配列arrを取り、2番目の引数として数値のtargetを受け取るJavaScript関数を作成する必要があります。 この関数は、サブアレイ内のすべての要素の積がターゲットよりも少ない(連続した)サブアレイの数をカウントして返すことになっています。 たとえば、関数への入力が 入力 const arr = [10, 5, 2, 6]; const target = 100; 出力 const output = 8; 出力の説明 積が100未満の8つのサブアレイは- [10], [5], [2], [6], [10, 5], [5, 2], [2, 6