Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 가능한 모든 홀수 길이 하위 배열의 합계

<시간/>

정수 배열을 유일한 인수로 취하는 JavaScript 함수를 작성해야 합니다.

함수는 먼저 길이가 홀수인 원래 배열에서 가능한 모든 하위 배열을 치환해야 합니다. 그런 다음 함수는 해당 하위 배열의 모든 요소의 결합된 합계를 찾고 합계를 반환해야 합니다.

예를 들어 -

입력 배열이 -

인 경우
const arr = [1, 2, 3];

그러면 출력은 다음과 같아야 합니다. -

const output = 12;

원하는 하위 배열이 [1], [2], [3], [1, 2, 3]

이기 때문입니다.

예시

다음은 코드입니다 -

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

출력

다음은 콘솔 출력입니다 -

12
98