কম্পিউটার

জাভাস্ক্রিপ্টে ঠিক তিনটি অনন্য পুনরাবৃত্ত উপাদানের বিন্যাস সাজানো


ধরুন আমাদের কাছে সংখ্যার একটি অ্যারে আছে যাতে ঠিক তিনটি উপাদানের যেকোন ফ্রিকোয়েন্সি থাকে - 1, 0 এবং 1 এইরকম −

const arr = [1, 1, 0, -1, 1, 0, -1, 1, 0, 0, 1];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারেতে নেয়। ফাংশনটি কেবলমাত্র এই বিশেষ অ্যারেটিকে যথাস্থানে সাজাতে হবে, মানগুলি সঞ্চয় করার জন্য কোনও অতিরিক্ত অ্যারে ব্যবহার না করে৷

একমাত্র শর্ত হল আমাদের ফাংশনটি একটি লিনিয়ার টাইম ফাংশন হওয়া উচিত (শুধু একটি পুনরাবৃত্তি ব্যবহার করে)।

উদাহরণ

নিম্নলিখিত কোড -

const arr = [1, 1, 0, -1, 1, 0, -1, 1, 0, 0, 1];
const sortSpecialArray = (arr = []) => {
   const swap = (a, b) => {
      let middle = arr[a]
      arr[a] = arr[b]
      arr[b] = middle
   };
   let left = 0;
   let middle = 0;
   let right = arr.length-1;
   while(middle <= right){
      if(arr[middle] === -1){
         swap(left++, middle++);
      }else if(arr[middle] === 0){
         middle++;
      }else if(arr[middle] === 1){
         swap(right--, middle);
      }
   };
};
sortSpecialArray(arr);
console.log(arr);

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

[
   -1, -1, 0, 0, 0,
   0, 1, 1, 1, 1,
   1
]

  1. অ্যারে ছেদ খুঁজে বের করা এবং জাভাস্ক্রিপ্টে পুনরাবৃত্ত উপাদান সহ

  2. জাভাস্ক্রিপ্টে অ্যারে উপাদানগুলিকে পুনর্বিন্যাস করা

  3. জাভাস্ক্রিপ্টে একটি অ্যারের উপাদান পুনর্বিন্যাস করা

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