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

JavaScript의 정수 목록에서 두 숫자의 최대 곱

<시간/>

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

함수는 배열의 두 요소를 곱하여 얻을 수 있는 최대 곱을 찾아야 합니다. 우리의 조건은 선형 시간과 일정한 공간에서 이것을 해야 한다는 것입니다.

예를 들어 -

입력 배열이 -

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

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

const output = 27;

가장 큰 곱이고 3과 9를 곱하여 얻을 수 있기 때문입니다.

예시

다음은 코드입니다 -

const arr = [3, 9, 2, 1, 0];
const maxPairProduct = (arr = []) => {
   let c = Infinity, d = c;
   let a = -Infinity - 1, b = a;
   for (const n of arr) {
      if(n >= a){
         b = a;
         a = n;
      }else if(n >= b){
         b = n;
      };
      if(n <= d){
         c = d;
         d = n;
      }else if(n <= c){
         c = n;
      };
   };
   return Math.max(a * b, c * d);
};
console.log(maxPairProduct(arr));

출력

다음은 콘솔 출력입니다 -

27