समस्या
मान लीजिए कि हमारे पास एक एस, स्ट्र है। जो स्ट्रिंग की एक अनंत रैपराउंड स्ट्रिंग है -
"abcdefghijklmnopqrstuvwxyz".
इसलिए, S इस तरह दिखेगा -
"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....".
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो स्ट्र लेता है, आइए उस स्ट्रिंग स्ट्र को एकमात्र तर्क के रूप में कॉल करें।
-
हमारे फ़ंक्शन को यह पता लगाना चाहिए कि एस में कितने अद्वितीय गैर-खाली सबस्ट्रिंग मौजूद हैं।
-
हमारे फ़ंक्शन को अंततः स्ट्रिंग S में str के विभिन्न गैर-रिक्त सबस्ट्रिंग की संख्या वापस करनी चाहिए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const str = "zab";
तब आउटपुट होना चाहिए -
const output = 6;
आउटपुट स्पष्टीकरण
स्ट्रिंग S में छह सबस्ट्रिंग "z", "a", "b", "za", "ab", "zab" स्ट्रिंग "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