Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหา Triple Product Array ที่ใหญ่ที่สุดใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของจำนวนเต็มเป็นอาร์กิวเมนต์เท่านั้น

ตามอาร์เรย์ที่รับเป็นอินพุต ฟังก์ชันควรสร้างอาร์เรย์ใหม่ที่มีความยาวเท่ากันตามเกณฑ์ต่อไปนี้

องค์ประกอบที่สอดคล้องกันของอาร์เรย์เอาต์พุตควรเป็นผลคูณของตัวเลขที่ใหญ่ที่สุดสามตัวที่พบจนถึงตอนนี้ หากดัชนีที่สอดคล้องกันน้อยกว่า 3 (เรายังไม่พบองค์ประกอบสามอย่าง) ค่าที่สอดคล้องกันควรเป็น -1 และแม้ว่าเราจะสามารถใช้ค่าที่ไม่ซ้ำในการคำนวณผลิตภัณฑ์ได้ แต่ค่าที่ไม่ซ้ำเหล่านั้นควรอยู่ที่ดัชนีต่างๆ กัน

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตเป็น −

const arr = [1, 2, 3, 4, 5, 6];

จากนั้นผลลัพธ์ควรเป็น −

const output = [-1, -1, 6, 24, 60, 120];

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

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));

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

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