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

JavaScript में स्ट्रिंग के सभी संभावित पैलिंड्रोमिक सबसीक्वेंस की गिनती


पैलिंड्रोम अनुक्रम:

एक स्ट्रिंग अनुक्रम को पैलिंड्रोम अनुक्रम कहा जाता है यदि यह आगे और पीछे से समान पढ़ा जाए। उदाहरण के लिए, 'aba', 'madam', 'did' सभी वैध पैलिंड्रोम अनुक्रम हैं।

हमें एक JavaScript फ़ंक्शन लिखना है जो एक स्ट्रिंग को पहली और एकमात्र आर्ग्युमेंट के रूप में लेता है। इनपुट स्ट्रिंग में केवल 'a', 'b', 'c' और 'd' होने की गारंटी है। फ़ंक्शन को स्ट्रिंग में आने वाले सभी सन्निकट या असन्निकट पैलिंड्रोम सबसीक्वेंस की संख्या गिनकर वापस करनी चाहिए।

उदाहरण

यदि इनपुट स्ट्रिंग है:

const str = 'bccb';

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

const output = 6;

क्योंकि यहां पैलिंड्रोम स्ट्रिंग हैं: 'b', 'c', 'bb', 'cc', 'bcb', 'bccb'

कोड

const str = 'bccb'; const countPalindromes = (str = '') => {    let base = 1000000007;    const dp = Array(str.length).fill([]);    for (let l = 1; l <= str.length; l ++) {       for (let i = 0; i + l - 1 < str.length; i ++) {          let j = i + l - 1;          if (l === 1) {             dp[i][j] = 1;             continue;          }          if (l === 2) {             dp[i][j] = 2;             continue;          }          if (str[i] === str[j]) {             let left = i + 1, right = j - 1;             while (left <= right && str[left] != str[i]) {                left ++;             }             while (left <= right && str[right] != str[i]) {                right --;             }             if (left > right) {                dp[i][j] = dp[i + 1][j - 1] * 2 + 2;             }             else if (left === right) {                dp[i][j] = dp[i + 1][j - 1] * 2 + 1;             } else {                dp[i][j] = dp[i + 1][j - 1] * 2 - dp[left + 1][right - 1];             }          } else {             dp[i][j] = dp[i][j - 1] + dp[i + 1][j] - dp[i + 1][j - 1];          }          dp[i][j] = dp[i][j] < 0? dp[i][j] + base : dp[i][j] % base;       }    }    return dp[0][str.length - 1]; }; console.log(countPalindromes(str));

आउटपुट

कंसोल में आउटपुट होगा:

6
  1. - JavaScript में स्ट्रिंग से सभी स्पेस हटाना

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

  1. - JavaScript में सरणी के भीतर संभावित AP की गिनती

    अंकगणितीय प्रगति अंकगणितीय प्रगति (AP) संख्याओं का एक अनुक्रम है जैसे कि किन्हीं दो लगातार संख्याओं का अंतर एक स्थिर मान होता है (जिसे सामान्य अंतर के रूप में भी जाना जाता है)। उदाहरण के लिए, 1, 2, 3, 4, 5, 6,… एक AP है, जिसका सामान्य अंतर 1 (2-1) के बराबर है। समस्या हमें एक JavaScript फ़ंक्शन लिखन

  1. - C++ में दी गई स्ट्रिंग में सभी पैलिंड्रोमिक उप-अनुक्रमों की गणना करें

    इस ट्यूटोरियल में, हम दी गई स्ट्रिंग में सभी पैलिंड्रोमिक उप-अनुक्रमों की संख्या खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें एक स्ट्रिंग प्रदान की जाएगी। हमारा कार्य उस दी गई स्ट्रिंग में बनाए जा सकने वाले पैलिंड्रोमिक उप-अनुक्रमों की संख्या ढूंढना है।उदाहरण#include<iostream> #incl