কম্পিউটার

জাভাস্ক্রিপ্টে প্যালিনড্রোম জোড়া তৈরি করতে স্ট্রিং যোগ করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা শুধুমাত্র আর্গুমেন্ট হিসাবে স্ট্রিংগুলির অ্যারে নেয়। ফাংশনটি স্ট্রিংগুলিতে যোগদানকারী সমস্ত সূচক জোড়ার অ্যারেগুলির একটি অ্যারে ফেরত দেয় যা একটি নতুন প্যালিনড্রোম স্ট্রিং দেয়৷

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

const arr = ['tab', 'cat', 'bat'];

তারপর আউটপুট −

হওয়া উচিত
const output = [[0, 2], [2, 0]];

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

কারণ 'বাত্তাব' এবং 'তাবাত' উভয় স্ট্রিংই প্যালিনড্রোম।

উদাহরণ

এর জন্য কোড হবে −

const arr = ['tab', 'cat', 'bat'];
const isPalindrome = (str = '') => {
   let i = 0;
   let j = str.length - 1;
   while (i < j) {
      if (str[i] != str[j]) return false;
      i++;
      j--;
   };
   return true;
};
const palindromePairs = (arr = []) => {
   const res = [];
   for (let i = 0; i < arr.length; i++) {
      for (let j = i + 1; j < arr.length; j++) {
         if (isPalindrome(arr[i] + arr[j])) {
            res.push([i, j])
         }
         if (isPalindrome(arr[j] + arr[i])) {
            res.push([j, i])
         };
      };
   };
   return res;
};
console.log(palindromePairs(arr));

কোড ব্যাখ্যা

আমরা এখানে একটি স্ট্রিং প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য একটি সহায়ক ফাংশন isPalindome() ব্যবহার করেছি এবং আমাদের প্রধান ফাংশন সমস্ত সম্ভাব্য জোড়া তৈরি করতে সমস্ত সংমিশ্রণ ব্যবহার করে এবং যেগুলি আমাদের শর্তের সাথে মেলে, তাদের সূচকটি রেস অ্যারেতে পুশ করা হয়৷

আউটপুট

এবং কনসোলে আউটপুট হবে −

[ [ 0, 2 ], [ 2, 0 ] ]

  1. জাভাস্ক্রিপ্টে অনসাবমিট ইভেন্ট কি?

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

  3. জাভাস্ক্রিপ্টে টেমপ্লেট স্ট্রিং।

  4. জাভাস্ক্রিপ্টে নেস্টিং টেমপ্লেট স্ট্রিং