Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm mảng tích lớn nhất của ba số trong JavaScript

Viết hàm nhận mảng số nguyên, trả về mảng mới cùng độ dài. Phần tử tại vị trí i là tích 3 số lớn nhất gặp được đến vị trí i. Nếu i < 2 thì giá trị -1.

Ví dụ: [1,2,3,4,5,6] → [-1,-1,6,24,60,120].

Ví dụ

const arr = [1, 2, 3, 4, 5, 6];
const maximumTripleProduct = (arr = []) => {
  const res = [];
  const max = [arr[0], arr[1], arr[2]];
  res[0] = res[1] = -1;
  res[2] = arr[0] * arr[1] * arr[2];
  for (let i = 3; i < arr.length; i++) {
    max.push(arr[i]);
    max.sort((a, b) => b - a);
    max.pop();
    res[i] = max[0] * max[1] * max[2];
  }
  return res;
};
console.log(maximumTripleProduct(arr));

Kết quả

[-1, -1, 6, 24, 60, 120]