Chúng ta cần viết hàm nhận mảng số. Hàm chuẩn bị mảng 3 phần tử cho tích lớn nhất trong mọi bộ ba của mảng. Trả về tích đó.
Ví dụ - arr = [-10, 7, 29, 30, 5, -10, -70] -> output = 21000 (30 * -10 * -70). Vì có số âm, max product là max(min1*min2*max1, max1*max2*max3).
Ví dụ
Code sau đây:
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 *= arr[i];
pro2 = arr[0] * arr[1] * arr[len];
return Math.max(pro1, pro2);
};
console.log(threeProduct(arr));Kết quả
Kết quả trên console:
21000