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

JavaScript에서 세 숫자의 가장 큰 곱 찾기

<시간/>

Numbers의 배열을 유일하게 취하는 JavaScript 함수를 작성해야 합니다. 함수는 배열의 세 가지 요소 중에서 가장 큰 결과를 산출하는 배열에서 이러한 세 가지 요소의 배열을 준비해야 합니다. 함수는 마침내 이 세 요소의 곱을 반환해야 합니다.

예:

입력 배열이 -

인 경우
const arr = [-10, 7, 29, 30, 5, -10, -70];

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

const output = 21000

세 숫자가 30, -10, -70이기 때문에

배열이 음수 요소를 포함할 수 있거나 포함할 가능성이 있음을 알 수 있습니다. 따라서 이러한 경우 최대 곱은 이 둘 중 더 큰 값이 됩니다. -

min1 * min2 * max1
max1 * max2 * max3

따라서 다음과 같이 해결합니다.

예시

다음은 코드입니다 -

const arr = [-10, 7, 29, 30, 5, -10, -70];
const threeProduct = (arr = []) => {
   const sorter = (a, b) => a -b;
   arr.sort(sorter);
   let pro1 = 1, pro2 = 1;
   let len = arr.length - 1;
   for (let i = len; i > len - 3; i--) {
      pro1 = pro1 * arr[i];
   };
   pro2 = arr[0] * arr[1] * arr[len];
   return Math.max(pro1, pro2);
}
console.log(threeProduct(arr));

출력

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

21000