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

জাভাস্ক্রিপ্টে লিনিয়ার টাইমে দুটি পূর্ণসংখ্যার সর্বোচ্চ গুণফল


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা ধনাত্মক ও ঋণাত্মক সংখ্যা সহ একটি সংখ্যার অ্যারে নেবে এবং এক ট্রাভার্সেলে দুটি সংখ্যার সর্বোচ্চ গুণফল ফেরত দেবে।

এই ফাংশনের কোড লিখি:

উদাহরণ

const arr = [-1, -3, -4, 2, 0, -5];
const arr2 = [2, 3, 5, 7, -7, 5, 8, -5];
const produce = arr => arr.reduce((acc, val) => acc*val);
const maximumProduct = (arr = []) => {
  const [first] = arr;
  if(!first){
    return 0;
  };
  const creds = arr.reduce((acc, val) => {
    const { min, max } = acc;
    if(val > max[0]){
      max[1] = max[0];
      max[0] = val;
      return acc;
    };
    if(val < min[0]){
      min[1] = min[0];
      min[0] = val;
      return acc;
    };
    if(val > max[1]){
      max[1] = val;
      return acc;
    };
    if(val < min[1]){
      min[1] = val;
      return acc;
    };
    return acc;
  }, {
    min: [first, first],
    max: [first, first]
  });
  const { max, min } = creds;
  return produce(max) > produce(min) ? produce(max) : produce(min);
};
console.log(maximumProduct(arr));
console.log(maximumProduct(arr2));

আউটপুট

কনসোলে আউটপুট হবে:

20 56

  1. জাভাস্ক্রিপ্টে দুটি সংখ্যা তুলনা করার পদ্ধতি

  2. JavaScript-এ [1,2] + [3,4] = "1,23,4" কেন হয়? কারণ ও সমাধান

  3. জাভাস্ক্রিপ্টে লিনিয়ার সার্চ বাস্তবায়ন

  4. C++-এ দুটি অ্যারের এলিমেন্টগুলোর গুণফলের সর্বোচ্চ সম বের করার প্রোগ্রাম