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

JavaScript에서 제품 배열 구성

<시간/>

Numbers 배열을 취하는 JavaScript 함수를 작성해야 합니다. 함수는 원래 배열을 기반으로 새 배열을 생성해야 합니다. 새 배열의 각 해당 요소는 해당 요소를 포함하는 원래 배열의 모든 요소의 곱이어야 합니다.

예:

입력 배열이 -

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

그러면 출력 배열은 -

여야 합니다.
const output = [120, 60, 40, 30, 24];

선형 시간과 일정한 공간에서 이를 달성해야 합니다(새 어레이를 구성하는 데 사용된 공간은 분명히 제외).

예시

다음은 코드입니다 -

const arr = [1, 2, 3, 4, 5];
const exclusiveProduct = (arr = []) => {
   // O(n) time complexity
   const product = arr.reduce((acc, val) => acc * val);
   const res = [];
   // O(n) time complexity
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      res[i] = product / el;
   };
   return res;
};
console.log(exclusiveProduct(arr));

출력

다음은 콘솔의 출력입니다 -

[120, 60, 40, 30, 24]