কম্পিউটার

জাভাস্ক্রিপ্টে প্রতিটি নোডের জন্য পরবর্তী বৃহত্তর নোড খোঁজা হচ্ছে


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা লিঙ্কযুক্ত তালিকার প্রথম এবং একমাত্র যুক্তি হিসাবে নেয়৷

এই লিঙ্কযুক্ত তালিকায় সংখ্যাসূচক তথ্য রয়েছে। তালিকার প্রতিটি নোডের একটি পরবর্তী বড় মান থাকতে পারে:node_i-এর জন্য, next_larger(node_i) হল node_j.val যেমন j> i, node_j.val> node_i.val, এবং j হল সবচেয়ে ছোট সম্ভাব্য পছন্দ। যদি এই ধরনের j বিদ্যমান না থাকে, তাহলে পরবর্তী বড় মান হল 0।

আমাদের ফাংশন একটি অ্যারে প্রস্তুত এবং ফেরত দিতে হবে যেখানে সংশ্লিষ্ট উপাদানটি তালিকার উপাদানটির জন্য পরবর্তী বৃহত্তর উপাদান।

উদাহরণস্বরূপ, যদি তালিকা −

হয়

জাভাস্ক্রিপ্টে প্রতিটি নোডের জন্য পরবর্তী বৃহত্তর নোড খোঁজা হচ্ছে

তারপর আউটপুট −

হওয়া উচিত
const আউটপুট =[7, 0, 5, 5, 0];

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

কারণ 2 এর পরবর্তী বৃহত্তর উপাদান হল 7, 7 এর জন্য কোন বড় উপাদান নেই ইত্যাদি।

উদাহরণ

এর জন্য কোড হবে −

<প্রি>ক্লাস নোড{ কনস্ট্রাক্টর(ডেটা){ this.data =ডেটা; this.next =null; };};ক্লাস লিঙ্কডলিস্ট{ কনস্ট্রাক্টর(){ this.head =null; this.size =0; };};LinkedList.prototype.add =function(data){ const newNode =new Node(data); curr if(this.head ===null){ this.head =newNode; }অন্য{ curr =this.head; যখন (curr.next) { curr =curr.next; } curr.next =newNode; }; this.size++;};const list =new LinkedList();list.add(2);list.add(7);list.add(4);list.add(3);list.add(5);const nextGreater =(head) => { const arr =[]; const res =[]; let curr =মাথা; যাক currentIndex =0 while(curr){ while (arr.length> 0 &&curr.data> arr[arr.length - 1][1]) { const [index] =arr.pop(); res[index] =curr.data; }; arr.push([currentIndex, curr.data]); বর্তমান সূচক +=1; curr =curr.next; }; জন্য(আলো i =0; i

আউটপুট

এবং কনসোলে আউটপুট হবে −

[ 7, 0, 5, 5, 0 ]

  1. জাভাস্ক্রিপ্ট - হ্যালো ওয়ার্ল্ড

  2. জাভাস্ক্রিপ্টে নোড

  3. জাভাস্ক্রিপ্টে বাইনারি ট্রি

  4. জাভাস্ক্রিপ্টে প্রতিটি বস্তুর জন্য একটি অনন্য আইডি কীভাবে তৈরি করবেন?