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

জাভাস্ক্রিপ্টে সব সংঘর্ষের পর অবস্থা নির্ণয়


সমস্যা

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

প্রতিটি অ্যাসটেরয়েডের জন্য, পরম মান এর আকার নির্দেশ করে, এবং চিহ্ন তার দিক নির্দেশ করে (পজিটিভ মানে ডান, নেগেটিভ মানে বাম)। প্রতিটি অ্যাসটেরয়েড একই গতিতে চলে।

ফাংশনটি সব সংঘর্ষের পর অ্যাসটেরয়েডদের অবস্থা বের করবে। যদি দুটি অ্যাসটেরয়েড মিলে, তবে ছোটটি বিস্ফোরিত হবে। যদি দুটির আকার সমান হয়, তবে দুটোই বিস্ফোরিত হবে। একই দিকের দুটি অ্যাসটেরয়েড কখনো মিলবে না।

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

ইনপুট

const arr = [7, 12, -8];

আউটপুট

const output = [7, 12];

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

১২ এবং -৮ সংঘর্ষ করবে যার ফলাফল ১২।

৭ এবং ১২ কখনো সংঘর্ষ করবে না।

উদাহরণ

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

const arr = [7, 12, -8]; 
const findState = (arr = []) => { 
  const track = []; 
  for (const el of arr) { 
    track.push(el); 
    while (track[track.length - 1] < 0 && track[track.length - 2] > 0) { 
      const a = -track.pop(); 
      const b = track.pop(); 
      if (a > b) { 
        track.push(-a); 
      } else if (a < b) { 
        track.push(b); 
      } 
    } 
  } 
  return track; 
}; 
console.log(findState(arr));

আউটপুট

[7, 12]

  1. জাভাস্ক্রিপ্ট const কীওয়ার্ড

  2. জাভাস্ক্রিপ্টে সর্ট করা অ্যারে-এর বর্গ সর্ট করা অবস্থায় বের করা

  3. জাভাস্ক্রিপ্টে ইন্টারভাল অ্যারে-এর ইন্টারসেকশন খুঁজে বের করা

  4. জাভাস্ক্রিপ্টে তিনটি অ্যারেতে সাধারণ সব উপাদানের যোগফল বের করা