কম্পিউটার

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


সমস্যা

ধরুন আমাদের একটি S, str আছে। যা স্ট্রিং-

-এর একটি অসীম মোড়ানো স্ট্রিং
"abcdefghijklmnopqrstuvwxyz".

অতএব, S এর মত দেখাবে −

"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....".

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা str এ লাগে, আসুন সেই স্ট্রিংটিকে str বলি, একমাত্র যুক্তি হিসেবে।

  • S.

    -এ str-এর কতগুলি অনন্য নন-খালি সাবস্ট্রিং রয়েছে তা আমাদের ফাংশন খুঁজে বের করতে হবে
  • আমাদের ফাংশন অবশেষে S স্ট্রিং-এ str-এর বিভিন্ন অ-খালি সাবস্ট্রিংগুলির সংখ্যা ফেরত দেবে।

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

const str = "zab";

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

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

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

স্ট্রিং S-এ স্ট্রিং "zab" এর ছয়টি সাবস্ট্রিং "z", "a", "b", "za", "ab", "zab" আছে।

উদাহরণ

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

const str = "zab";
const allSubstrings = (str = '') => {
   const dp = new Array(26).fill(0);
   dp[str.charCodeAt(0) - 97] = 1;
   maxCount = 1;
   for (let i = 1; i < str.length; i++) {
      if ((str.charCodeAt(i) - str.charCodeAt(i - 1) == 1) || (str.charCodeAt(i) - str.charCodeAt(i - 1) == -25)) {
         maxCount++;
      } else {
         maxCount = 1;
      }
      dp[str.charCodeAt(i) - 97] = Math.max(dp[str.charCodeAt(i) - 97], maxCount);
   }
   return dp.reduce((item, val) => {
      return val + item;
   })
};
console.log(allSubstrings(str));

আউটপুট

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

6

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

  2. জাভাস্ক্রিপ্টে একটি স্ট্রিং এর সমস্ত সম্ভাব্য অনন্য স্থানান্তর তৈরি করা

  3. জাভাস্ক্রিপ্টে অনন্য অক্ষর ধারণ করার জন্য ফিল্টারিং স্ট্রিং

  4. জাভাস্ক্রিপ্ট ব্যবহার করে একটি স্ট্রিং-এ সমস্ত অনন্য অক্ষর রয়েছে কিনা তা পরীক্ষা করা হচ্ছে