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

জাভাস্ক্রিপ্টে অ্যারের রিভার্স অ্যালগরিদম সমাধান (স্পেশাল ক্যারেক্টার বাদ দিয়ে)


আমাদের একটি রিকোয়ারমেন্ট আছে যে আমাদের একটি অ্যারে রিভার্স করার ফাংশন লিখতে হবে কিন্তু একটি স্পেশাল ক্যারেক্টারের ইনডেক্স পরিবর্তন না করে, নিচের উদাহরণের মতো -

যদি '#' সেটি স্পেশাল ক্যারেক্টার হয়, তবে নিচের অ্যারে,

[18,-4,'#',0,8,'#',5]

রিটার্ন করবে -

[5, 8, "#", 0, -4, "#", 18],

এখানে, নাম্বারগুলো রিভার্স হয়েছে, কিন্তু '#' এর ইনডেক্স অপরিবর্তিত রয়েছে।

এই কোড লিখি।

আমরা টু-পয়েন্টার অ্যাপ্রোচ ব্যবহার করব, start এবং end পয়েন্টার যথাক্রমে অ্যারের এক্সট্রিম লেফট এবং এক্সট্রিম রাইটে পয়েন্ট করবে।

যদি কোনো ইনডেক্সে স্পেশাল ক্যারেক্টার পাওয়া যায়, তবে আমরা সেই ইনডেক্স স্কিপ করব এবং ইটারেশন চালিয়ে যাব, এবং যখন এমন একটি ইনডেক্স পেয়ে যাব যেখানে স্পেশাল ক্যারেক্টার নেই, তবে তাদের ভ্যালু স্ব্যাপ করব এবং এই প্রক্রিয়া চালিয়ে যাব যতক্ষণ না start পয়েন্টার end পয়েন্টার থেকে কম থাকে।

উদাহরণ

const arr = [18,-4,'#',0,8,'#',5]; const reverseArray = (arr, special) => {    let start = 0, end = arr.length - 1, temp;    while(start < end){       if(arr[start] === special){          start++;          continue;       };       if(arr[end] === special){          end--;          continue;       };       temp = arr[start];       arr[start] = arr[end];       arr[end] = temp;       start++;       end--;    }; }; reverseArray(arr, '#'); console.log(arr);

আউটপুট

কনসোলে আউটপুট হবে -

[    5, 8, '#', 0, -4, '#', 18 ]

  1. জাভাস্ক্রিপ্টে অ্যারে রিভার্স করার প্রোগ্রাম লিখুন?

  2. জাভাস্ক্রিপ্ট Array reverse() মেথড

  3. জাভাস্ক্রিপ্ট Array reverse() মেথড

  4. জাভাস্ক্রিপ্ট অ্যারেতে এলিমেন্ট সার্চ করা