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

জাভাস্ক্রিপ্টে পরবর্তী বড় উপাদানের দূরত্ব খুঁজে বের করা


সমস্যা

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

ফাংশনটি ইনপুটের জন্য একটি নতুন অ্যারে তৈরি করবে যেখানে প্রতিটি সংশ্লিষ্ট উপাদান হবে বর্তমান উপাদানের চেয়ে বড় পরবর্তী উপাদানের দূরত্ব, এবং যদি বর্তমান উপাদানের ডানে কোনো বড় উপাদান না থাকে, তবে আমরা সেই সংশ্লিষ্ট উপাদানের জন্য ০ পুশ করব এবং শেষে এই অ্যারেটি ফেরত দেব।

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

ইনপুট

const arr = [12, 13, 14, 11, 16, 10, 12, 17, 19, 18];

আউটপুট

const output = [1, 1, 2, 1, 3, 1, 1, 1, 0, 0];

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

কারণ ১২-এর চেয়ে বড় পরবর্তী উপাদান ১৩, ১ ব্লক দূরত্বে,

১৩-এর চেয়ে বড় পরবর্তী উপাদান ১৪, ১ ব্লক দূরত্বে,

১৪-এর চেয়ে বড় পরবর্তী উপাদান ১৬, ২ ব্লক দূরত্বে এবং így дале।

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

উদাহরণ

const arr = [12, 13, 14, 11, 16, 10, 12, 17, 19, 18]; 
const findNextGreater = (arr = []) => { 
  const stack = []; 
  const res = new Array(arr.length).fill(0); 
  for (let i = 0; i < arr.length; i++) { 
    while (arr[i] > arr[stack[stack.length - 1]] && stack.length > 0) { 
      const index = stack.pop(); 
      res[index] = i - index; 
    } 
    stack.push(i); 
  } 
  return res; 
}; 
console.log(findNextGreater(arr));

আউটপুট

[1, 1, 2, 1, 3, 1, 1, 1, 0, 0]

  1. জাভাস্ক্রিপ্টে লিংকড লিস্টে প্রতিটি নোডের জন্য পরবর্তী বড় মান খুঁজে বের করা

  2. সি++-এ অ্যারেতে পরবর্তী বড় উপাদান (Next Greater Element) বের করা

  3. C++-এ পরবর্তী বড়তর উপাদান III

  4. C++-এ Next Greater Element II