ধরুন আমাদের লিটারেলের একটি সাজানো অ্যারে দেওয়া হয়েছে। আমাদের এমন একটি ফাংশন লিখতে হবে যা অ্যারে থেকে সমস্ত সদৃশগুলিকে ইন-প্লেস করে সরিয়ে দেয় যাতে প্রতিটি উপাদান শুধুমাত্র একবার প্রদর্শিত হয় এবং অ্যারের নতুন দৈর্ঘ্য ফেরত দেয়৷
এটি করার শর্ত হল যে আমরা অন্য অ্যারের জন্য অতিরিক্ত স্থান বরাদ্দ করতে পারি না, আমাদের অবশ্যই O(1) অতিরিক্ত মেমরির সাথে ইনপুট অ্যারে পরিবর্তন করে এটি করতে হবে৷
উদাহরণ
এর জন্য কোড হবে −
const arr = [1, 3, 3, 6, 7, 7, 9, 11, 13];
const removeDuplicates = (arr = []) => {
let i=0;
while(i < arr.length − 1){
let j = i + 1;
if(arr[i] === arr[j]){
arr.splice(j,1);
}else{
i++;
}
};
};
removeDuplicates(arr);
console.log(arr); আউটপুট
এবং কনসোলে আউটপুট হবে −
[ 1, 3, 6, 7, 9, 11, 13 ]