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

Tổng của tất cả các tiểu phân có độ dài kỳ lạ có thể có trong JavaScript

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

Trước tiên, hàm phải hoán vị tất cả các mảng con có thể có từ mảng ban đầu có cường độ là oddlength. Và sau đó, hàm sẽ tìm tổng kết hợp của tất cả các phần tử của các mảng con đó và trả về tổng.

Ví dụ -

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

const arr = [1, 2, 3];

Sau đó, kết quả đầu ra phải là -

const output = 12;

bởi vì các mảng con mong muốn là [1], [2], [3], [1, 2, 3]

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

12
98