কম্পিউটার

জাভাস্ক্রিপ্টে দুটি অ্যারে ব্যালেন্স করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং দ্বিতীয় আর্গুমেন্ট হিসাবে দুটি অ্যারে সংখ্যা, arr1 এবং arr2 নেয়৷

arr1 এবং arr2 এ উপাদানের যোগফল ভিন্ন। আমাদের ফাংশনের প্রথম অ্যারে থেকে একটি উপাদান বাছাই করা উচিত এবং এটিকে দ্বিতীয় অ্যারেতে ঠেলে দেওয়া উচিত এবং দ্বিতীয় অ্যারে থেকে একটি উপাদান বাছাই করা উচিত এবং এটিকে প্রথম অ্যারেতে পুশ করা উচিত যাতে উভয় অ্যারের উপাদানের যোগফল সমান হয়। আমাদের এই দুটি উপাদানের একটি অ্যারে ফেরত দেওয়া উচিত।

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়

ইনপুট

const arr1 = [1, 2, 5];
const arr2 = [2, 4];

আউটপুট

const output = [5, 4];

আউটপুট ব্যাখ্যা

কারণ আমরা যদি arr1 থেকে 5 কে সরিয়ে arr2 এ পুশ করি এবং arr2 থেকে 4 কে সরিয়ে arr1 এ পুশ করি তাহলে উভয় অ্যারের যোগফল সমান হবে (7)।

নিম্নলিখিত কোড:

উদাহরণ

const arr1 = [1, 2, 5];
const arr2 = [2, 4];
const balanceArrays = (arr1 = [], arr2 = []) => {
   const sumA = arr1.reduce((acc, v) => acc + v, 0)
   const sumB = arr2.reduce((acc, v) => acc + v, 0)
   const difference = (sumA + sumB) / 2 - sumA
   const map = arr2.reduce((acc, v) => {
      acc[v] = true
      return acc
   }, {})
   for(let i = 0; i < arr1.length; i++) {
      if(map[arr1[i] + difference] === true) {
         return [arr1[i], arr1[i] + difference]
      }
   }
   return []
};
console.log(balanceArrays(arr1, arr2));

আউটপুট

[5, 4]

  1. জাভাস্ক্রিপ্ট JSON অ্যারে

  2. অ্যারে বনাম জাভাস্ক্রিপ্টে সেট।

  3. কিভাবে জাভাস্ক্রিপ্ট দুটি অ্যারে যোগদান করতে?

  4. জাভাস্ক্রিপ্টে দুটি অ্যারেকে কীভাবে গুণ করা যায়?