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

가능한 모든 홀수 길이 하위 배열 JavaScript

<시간/>

숫자 배열을 첫 번째이자 유일한 입력으로 사용하는 JavaScript 함수를 작성해야 합니다.

이 함수는 원래 배열에서 가능한 모든 홀수 길이 하위 배열을 선택하고 합계를 계산하고 총 합계를 반환합니다.

하위 배열은 배열의 연속 하위 시퀀스를 의미하며 가능한 숫자 조합을 의미하지 않습니다.

예를 들어 -

입력 배열이 -

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

그러면 가능한 모든 홀수 길이 배열은 -

가 됩니다.
[1], [2], [3], [4], [5], [1, 2, 3], [2, 3, 4], [3, 4, 5], [1, 2, 3, 4, 5]

그리고 그들의 총합은 -

const output = 57

예시

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

출력

이것은 다음과 같은 출력을 생성합니다 -

57