সমস্যা
ধরুন আমাদের একটি 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