Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tổng tất cả subarray độ dài lẻ trong JavaScript

Viết hàm tính tổng tất cả phần tử của mọi subarray có độ dài lẻ của mảng đầu vào.

Ví dụ: [1,2,3] → 12 (subarray: [1],[2],[3],[1,2,3]).

Ví dụ

const arr1 = [1, 2, 3];
const arr2 = [1, 2, 3, 4, 5, 6];
const sumOfOddLengthSubarrays = (arr = []) => {
  let res = 0;
  for (let i = 0; i < arr.length; i++) {
    let sum = 0;
    for (let j = i; j < arr.length; j++) {
      sum += arr[j];
      if (((j - i + 1) & 1) === 0) continue;
      res += sum;
    }
  }
  return res;
};
console.log(sumOfOddLengthSubarrays(arr1));
console.log(sumOfOddLengthSubarrays(arr2));

Kết quả

12 98