Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में सर्कुलर स्ट्रिंग में अद्वितीय सबस्ट्रिंग्स


समस्या

मान लीजिए हमारे पास एक स्ट्रिंग S, str है, जो स्ट्रिंग का अनंत रैप-अराउंड स्ट्रिंग है:

"abcdefghijklmnopqrstuvwxyz".

इसलिए, S इस तरह दिखेगा:

"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....".

हमें एक JavaScript फ़ंक्शन लिखना है जो str को, आइए उस स्ट्रिंग को str कहते हैं, एकमात्र आर्ग्युमेंट के रूप में लेता है।

  • हमारे फ़ंक्शन को यह पता लगाना चाहिए कि str के कितने अद्वितीय गैर-खाली सबस्ट्रिंग S में मौजूद हैं।

  • हमारे फ़ंक्शन को अंततः स्ट्रिंग S में str के विभिन्न गैर-खाली सबस्ट्रिंग की संख्या वापस करनी चाहिए।

उदाहरण

यदि फ़ंक्शन का इनपुट है:

const str = "zab";

तो आउटपुट होना चाहिए:

const output = 6;

आउटपुट व्याख्या

स्ट्रिंग "zab" के छह सबस्ट्रिंग "z", "a", "b", "za", "ab", "zab" स्ट्रिंग S में हैं।

कोड

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. - JavaScript में स्ट्रिंग के सभी संभावित अद्वितीय क्रमपरिवर्तन बनाना

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो एक स्ट्रिंग str लेता है। हमारे फ़ंक्शन को इनपुट स्ट्रिंग के सभी क्रमपरिवर्तन बनाने चाहिए और डुप्लिकेट को हटाना चाहिए, यदि मौजूद हैं। इसका मतलब है, हमें इनपुट के सभी अक्षरों को सभी संभावित क्रमों में फेरबदल करना होगा। उदाहरण कोड निम्न है - { if (!!s

  1. - JavaScript में स्ट्रिंग को यूनिक कैरेक्टर्स तक फ़िल्टर करना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो एक स्ट्रिंग str लेता है। हमारा फ़ंक्शन एक नई स्ट्रिंग बनाएगा जिसमें इनपुट स्ट्रिंग के केवल यूनिक कैरेक्टर्स हों और डुप्लिकेट कैरेक्टर्स के सभी ऑकरेंस हटा दिए जाएं।उदाहरणनिम्नलिखित कोड है − { let res = ; for(let i = 0; i < str.length; i++){ const el

  1. - JavaScript में जांचना कि क्या स्ट्रिंग में सभी यूनिक कैरेक्टर्स हैं

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो एक स्ट्रिंग लेता है और यदि स्ट्रिंग में सभी कैरेक्टर्स केवल एक बार दिखाई देते हैं तो true लौटाता है, अन्यथा false।उदाहरणनिम्नलिखिक कोड है − { for(let i = 0; i < str.length; i++){ const el = str[i]; if(str.indexOf(el) !== str.lastIndexOf(el)){ return