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

ผลรวมสูงสุดที่เป็นไปได้ของผลิตภัณฑ์ใน JavaScript


เราได้รับอาร์เรย์สองชุดคือ arr1 และ arr2 ของจำนวนบวก จำนวนค่าในอาร์เรย์ทั้งสองจะเท่ากัน

เราจำเป็นต้องเขียนฟังก์ชันที่หาผลรวมสูงสุดขององค์ประกอบต่างๆ ของพวกมัน

แต่ละองค์ประกอบใน arr1 จะต้องถูกคูณด้วยองค์ประกอบเดียวใน arr2 และในทางกลับกัน เพื่อให้แต่ละองค์ประกอบของอาร์เรย์ทั้งสองปรากฏเพียงครั้งเดียวและผลรวมของผลิตภัณฑ์ที่ผลิตได้จะสูงสุด

ตัวอย่างเช่น:ถ้า

arr1 = [5,1,3,4,2] and,
arr2 = [8,10,9,7,6]

ผลรวมของผลิตภัณฑ์ที่เป็นไปได้คือ −

5*6 + 1*7 + 3*9 + 4*10 + 2*8

แม้ว่ามันอาจจะไม่ใช่ผลรวมที่ใหญ่ที่สุด

ตัวอย่าง

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

const arr1 = [5,1,3,4,2];
const arr2 = [8,10,9,7,6];
const sorter = (a, b) => b - a;
const greatestProduct = (a1, a2) => {
   if(a1.length !== a2.length){
      return false;
   };
   const a1Sorted = a1.slice().sort(sorter);
   const a2Sorted = a2.slice().sort(sorter);
   let res = 0;
   for(let i = 0; i < a1.length; i++){
      res += (a1Sorted[i] * a2Sorted[i]);
   };
   return res;
};
console.log(greatestProduct(arr1, arr2));

ผลลัพธ์

ต่อไปนี้เป็นผลลัพธ์ในคอนโซล -

130