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

জাভাস্ক্রিপ্টে কেন্দ্রকেন্দ্রিক শীর্ষবিন্দুযুক্ত অ্যারেতে শীর্ষ খুঁজে বের করা


কেন্দ্রকেন্দ্রিক শীর্ষবিন্দুযুক্ত অ্যারে

আমরা একটি অ্যারে arr কে কেন্দ্রকেন্দ্রিক শীর্ষবিন্দুযুক্ত অ্যারে বলব যদি নিচের প্রপার্টিগুলো পূরণ হয় –

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

সমস্যা

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

ইনপুট অ্যারেটি একটি কেন্দ্রকেন্দ্রিক শীর্ষবিন্দুযুক্ত অ্যারে। ফাংশনটি এই অ্যারেতে শীর্ষ সূচক ফেরত দেবে।

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

ইনপুট

const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1];

আউটপুট

const output = 4;

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

কারণ সূচক ৪-এ উপাদান (১৫) এই অ্যারেতে শীর্ষ উপাদান।

উদাহরণ

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

const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1]; 
const findPeak = (arr = []) => { 
  if (arr.length < 3) { 
    return -1; 
  } 
  const helper = (low, high) => { 
    if (low > high) { 
      return -1; 
    } 
    const middle = Math.floor((low + high) / 2); 
    if (arr[middle] <= arr[middle + 1]) { 
      return helper(middle + 1, high); 
    } 
    if (arr[middle] <= arr[middle - 1]) { 
      return helper(low, middle - 1); 
    } 
    return middle; 
  }; 
  return helper(0, arr.length - 1); 
}; 
console.log(findPeak(arr));

আউটপুট

4

  1. জাভাস্ক্রিপ্টে অ্যারে খালি কীভাবে করবেন?

  2. জাভাস্ক্রিপ্টে অ্যারে খালি করার উপায়

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

  4. জাভাস্ক্রিপ্টে অ্যারেতে মিডিয়ান সূচক খুঁজে বের করা