কম্পিউটার

স্ট্রিংটি জাভাস্ক্রিপ্টে পুনরাবৃত্তি করা সাবস্ট্রিংগুলির সংমিশ্রণ


সমস্যা

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

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

const str = 'thisthisthisthis';

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

হওয়া উচিত
const output = true;

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

কারণ 'এই' স্ট্রিংটি বারবার যুক্ত করে স্ট্রিং তৈরি করা হয়।

উদাহরণ

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

const str = 'thisthisthisthis';
const repeatedSubstring = (str = '') => {
   const {length} = str;
   const checkSubString = ss => {
      const m = ss.length;
      for (let i = 0; i < length; i += m)
         for (let j = 0; j < m; j++)
            if (str[i+j] !== ss[j])
               return false;
      return true;
   };
   let factor = 2, len;
   while (length/factor >= 1){
      while (length % factor) factor++;
      len = length/factor;
      if (checkSubString(str.substring(0,len))){
         return true;
      };
      factor++;
   };
   return false;
};
console.log(repeatedSubstring(str));

কোড ব্যাখ্যা:

প্রথমত, আমরা সাবস্ট্রিং প্যাটার্ন চেকিং ফাংশন সেট আপ করি।

তারপরে আমরা সমস্ত সম্ভাব্য কারণগুলির মাধ্যমে পুনরাবৃত্তি করেছি যা স্ট্রিং স্ট্রকে সমানভাবে ভাগ করে, একটি কার্যকর পুনরাবৃত্তি প্যাটার্ন পাওয়া গেছে কিনা তা নির্ধারণ করতে।

আউটপুট

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

true

  1. জাভাস্ক্রিপ্টের একটি স্ট্রিংয়ের মধ্যে সাবস্ট্রিংগুলিতে অনুচ্ছেদ ট্যাগ যোগ করা

  2. জাভাস্ক্রিপ্টে একটি স্ট্রিংয়ের ওজন গণনা করা হচ্ছে

  3. জাভাস্ক্রিপ্টে বৃত্তাকার স্ট্রিং-এ অনন্য সাবস্ট্রিং

  4. জাভাস্ক্রিপ্টে সময় স্ট্রিং সংশোধন করা হচ্ছে