Computer >> Máy Tính >  >> Lập trình >> Javascript

Tất cả các phân đoạn con có độ dài lẻ có thể có JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng số làm đầu vào đầu tiên và duy nhất.

Hàm chọn tất cả các mảng con có độ dài lẻ có thể có từ mảng ban đầu, tính tổng của chúng và trả về tổng.

Lưu ý rằng theo mảng con, chúng tôi có nghĩa là một dãy con liền kề của mảng chứ không phải bất kỳ sự kết hợp số nào có thể xảy ra.

Ví dụ -

Nếu mảng đầu vào là -

const arr = [1, 2, 3, 4, 5];

Khi đó, tất cả các mảng có độ dài lẻ có thể có sẽ là -

[1], [2], [3], [4], [5], [1, 2, 3], [2, 3, 4], [3, 4, 5], [1, 2, 3, 4, 5]

Và tổng số tiền của họ sẽ là -

const output = 57

Ví dụ

const arr = [1, 2, 3, 4, 5];
const sumArray = (arr = []) => arr.reduce((a, b) => a + b);
const oddSum = (arr = []) => {
   let len = 1;
   let sum = 0;
   const { length } = arr;
   while(len <= length){
      for(let i = 0; i + len <= length; i++){
         sum += sumArray(arr.slice(i, i + len));
      };
      len += 2;
   };
   return sum;
};
console.log(oddSum(arr));

Đầu ra

Điều này sẽ tạo ra kết quả sau -

57