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

জাভাস্ক্রিপ্টে ঠিক তিনটি ইউনিক রিপিটিং এলিমেন্ট বিশিষ্ট অ্যারে সর্ট করা


ধরুন, আমাদের কাছে একটি নম্বরের অ্যারে আছে যেটিতে ঠিক তিনটি এলিমেন্ট -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. জাভাস্ক্রিপ্টে এলিমেন্টের ফ্রিকোয়েন্সি অনুযায়ী অ্যারে সাজানো