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

জাভাস্ক্রিপ্টে অ্যারেতে মাউন্টেন সাবঅ্যারের সর্বোচ্চ দৈর্ঘ্য


মাউন্টেন সাবসিকোয়েন্স

আমরা যেকোনো (সংলগ্ন) সাবঅ্যারে sub (of arr) কে একটি মাউন্টেন বলব যদি নিচের প্রপার্টিগুলো পূরণ হয় –

  • sub.length >= 3
  • যে কোনো 0 < i < sub.length - 1 আছে যাতে sub[0] < sub[1] < ... sub[i-1] < sub[i] > sub[i+1] > ... > sub[sub.length - 1]

সমস্যা

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

ফাংশনটি অ্যারে arr-এ বিদ্যমান সর্বোচ্চ মাউন্টেন সাবসিকোয়েন্সের দৈর্ঘ্য ফেরত দেবে, যদি কোনো থাকে, নয় তবে ০।

উদাহরণস্বরূপ, যদি ইনপুট হয় –

ইনপুট

const arr = [3, 2, 5, 8, 4, 3, 6];

আউটপুট

const output = 5;

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

কারণ 아직도 সাবঅ্যারে হল –

[2, 5, 8, 4, 3]

উদাহরণ

নিচে কোডটি দেওয়া হল –

const arr = [3, 2, 5, 8, 4, 3, 6]; 
const mountainLength = (arr = []) => { 
  let max = 0; 
  for (let left = 0; left < arr.length; left++) { 
    let right = left; 
    while (arr[right] < arr[right + 1]) { 
      right++; 
    } 
    const top = right; 
    while (right > left && arr[right] > arr[right + 1]) { 
      right++; 
    } 
    if (right > top && top > left) { 
      max = Math.max(max, right - left + 1); 
      left = right; 
      left--; 
    } 
  } 
  return max; 
}; 
console.log(mountainLength(arr));

আউটপুট

5

  1. জাভাস্ক্রিপ্ট বেসিক অ্যারে মেথড: push, pop, shift, unshift, splice

  2. জাভাস্ক্রিপ্ট Array length প্রপার্টি

  3. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের length প্রোপার্টি

  4. জাভাস্ক্রিপ্ট অবজেক্টের অ্যারেতে অ্যারে মেথডগুলো ব্যবহার করা