Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาผลคูณที่มากที่สุดของสามตัวเลขในอาร์เรย์ JavaScript

เราต้องหาผลคูณของสามตัวเลขในอาร์เรย์ที่ให้ผลคูณมากที่สุด อาจมีตัวเลขลบอยู่ในอาร์เรย์

สังเกตว่าผลคูณมากที่สุดจะเป็นค่าสูงกว่าระหว่าง: (min1 * min2 * max1) และ (max1 * max2 * max3)

ตัวอย่าง: [-10, 7, 29, 30, 5, -10, -70] → 30 * -10 * -70 = 21000

ตัวอย่างโค้ด

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