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

জাভাস্ক্রিপ্টে অ্যাডজেসেন্ট এলিমেন্টের সর্বোচ্চ গুণফল বের করা


সমস্যা বিবরণ

নাম্বার অ্যারে (পজেটিভ ও নেগেটিভ) দেওয়া আছে। দুটি অ্যাডজেসেন্ট এলিমেন্টের সর্বোচ্চ গুণফল বের করতে হবে।

ইনপুট: [-23, 4, -3, 8, -12]

অ্যাডজেসেন্ট পেয়ার: (-23,4)=-92, (4,-3)=-12, (-3,8)=-24, (8,-12)=-96 → সর্বোচ্চ = -12

সমাধান

const arr = [-23, 4, -3, 8, -12];

const adjacentProduct = (arr = []) => {
  let first = 0, second = 0;
  let res = Number.MIN_SAFE_INTEGER;
  for (let i = 0; i < arr.length; i++) {
    first = arr[i];
    second = arr[i + 1];
    if (first * second > res) res = first * second;
  }
  return res;
};

console.log(adjacentProduct(arr)); // -12

আউটপুট

-12

ব্যাখ্যা

  • লুপ arr.length - 1 পর্যন্ত চলা উচিত (লাস্ট এলিমেন্টের পরের এলিমেন্ট undefined)၊ কিন্তু JS-এ arr[length] undefined রিটার্ন করে, গুণফল NaN হয়, যেটি > res হবে না।
  • Number.MIN_SAFE_INTEGER ব্যবহার করা হয়েছে ইনিশিয়াল মিনিমাম হিসেবে।
  1. জাভাস্ক্রিপ্ট: অ্যাডজেসেন্ট এলিমেন্টস প্রোডাক্ট অ্যালগরিদম

  2. জাভাস্ক্রিপ্টে আনসর্টেড অ্যারেতে সবচেয়ে বড় এবং ছোট সংখ্যা বের করা

  3. জাভাস্ক্রিপ্টে reduce() ব্যবহার করে অ্যারে উপাদানগুলোর গুণফল বের করা

  4. জাভাস্ক্রিপ্টে সেট (Set) এর সর্বোচ্চ দৈর্ঘ্য বের করা