কম্পিউটার টিউটোরিয়াল

দুই অ্যারের উপাদান গুণফলের সর্বোচ্চ যোগফল - JavaScript

দুটি অ্যারের উপাদান একে অপরের সাথে গুণ করে যোগফল সর্বোচ্চ করার পদ্ধতি (Rearrangement Inequality)।

নিয়ম

সর্বোচ্চ যোগফলের জন্য: দুই অ্যারেই একই অর্ডারে সোর্ট করুন (দুইটো ascending বা দুটি descending)।

উদাহরণ

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

সোর্টেড (descending):
arr1: [5, 4, 3, 2, 1]
arr2: [10, 9, 8, 7, 6]

গুণফল যোগফল: 5×10 + 4×9 + 3×8 + 2×7 + 1×6 = 130

সমাধান

const maxProductSum = (arr1, arr2) => {
  if (arr1.length !== arr2.length) {
    throw new Error('Arrays must have same length');
  }
  
  // দুটোই descending সোর্ট
  const sorted1 = [...arr1].sort((a, b) => b - a);
  const sorted2 = [...arr2].sort((a, b) => b - a);
  
  return sorted1.reduce((sum, val, i) => sum + val * sorted2[i], 0);
};

// টেস্ট
const arr1 = [5, 1, 3, 4, 2];
const arr2 = [8, 10, 9, 7, 6];

console.log(maxProductSum(arr1, arr2)); // 130

// যাচাই: অন্য পেয়ারিং দিয়ে
// 5×6 + 1×7 + 3×9 + 4×10 + 2×8 = 30+7+27+40+16 = 120 < 130

গাণিতিক পृष্ঠভূমি (Rearrangement Inequality)

দুটি একই অর্ডারের সিকোয়েন্সের জন্য, উপাদানজোড়া একই র‍্যাঙ্কের সাথে গুণ করলে যোগফল সর্বোচ্চ হয়।

  • Ascending × Ascending = Max
  • Descending × Descending = Max
  • Ascending × Descending = Min

উৎপাদন

130
  1. জাভাস্ক্রিপ্ট const কীওয়ার্ড

  2. জাভাস্ক্রিপ্টে Const এবং Let এর পার্থক্য

  3. জাভাস্ক্রিপ্টে সংখ্যার অঙ্কগুলোর যোগফল ও গুণফলের পার্থক্য বের করা

  4. জাভাস্ক্রিপ্টে জোড়া বানিয়ে সর্বোচ্চ সম্ভাব্য যোগফল