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

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

इस ट्यूटोरियल में, हम स्ट्रिंग में पैलिंड्रोम उप-स्ट्रिंग्स की संख्या खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।

इसके लिए हमें एक स्ट्रिंग दी जाएगी। हमारा कार्य दी गई स्ट्रिंग में लंबाई 3 से अधिक वाले पैलिंड्रोम उप-स्ट्रिंग्स की संख्या गिनना है।

उदाहरण

#include<bits/stdc++.h> using namespace std; //counting palindrome strings int count_pstr(char str[], int n){    int dp[n][n];    memset(dp, 0, sizeof(dp));    bool P[n][n];    memset(P, false , sizeof(P));    for (int i= 0; i< n; i++)       P[i][i] = true;    for (int i=0; i<n-1; i++) {       if (str[i] == str[i+1]) {          P[i][i+1] = true;          dp[i][i+1] = 1 ;       }    }    for (int gap=2 ; gap<n; gap++) {       for (int i=0; i<n-gap; i++) {          int j = gap + i;          //if current string is palindrome          if (str[i] == str[j] && P[i+1][j-1] )             P[i][j] = true;          if (P[i][j] == true)             dp[i][j] = dp[i][j-1] + dp[i+1][j] + 1 - dp[i+1][j-1];          else             dp[i][j] = dp[i][j-1] + dp[i+1][j] - dp[i+1][j-1];       }    }    return dp[0][n-1]; } int main(){    char str[] = "abaab";    int n = strlen(str);    cout << count_pstr(str, n) << endl;    return 0; }

आउटपुट

3
  1. - वाक्य में पालिंड्रोम शब्दों की गणना - C++

    समस्या विवरण हमें एक अंग्रेजी वाक्य वाली स्ट्रिंग दी गई है। लक्ष्य उन शब्दों की संख्या ज्ञात करना है जो पालिंड्रोम हैं। पालिंड्रोम शब्द वे हैं जो आगे और पीछे से समान पढ़े जाते हैं (केस-असंवेदनशील)। उदाहरण इनपुट: My Mom and Anna left at Noon आउटपुट: 3 व्याख्या: Mom, Anna, Noon इनपुट: I am at level

  1. - C++ में स्ट्रिंग में विशेष पालिंड्रोम की गिनती

    हमें एक स्ट्रिंग str दी गई है। लक्ष्य str के उन सभी सबस्ट्रिंग की गिनती करना है जो विशेष पालिंड्रोम हैं और जिनकी लंबाई 1 से अधिक है। विशेष पालिंड्रोम वे स्ट्रिंग हैं जिनमें या तो सभी वर्ण समान हों या केवल मध्य वर्ण अलग हो। उदाहरण के लिए यदि स्ट्रिंग baabaa है तो मूल के सबस्ट्रिंग जो विशेष पालिंड्रो

  1. C++ में तल में समानांतर चतुर्भुजों की गणना C++ में तल में समानांतर चतुर्भुजों की गणना

    हमें एक तल दिया गया है जिसमें समानांतर चतुर्भुज बनाने वाले बिंदु हैं और कार्य दिए गए बिंदुओं का उपयोग करके बनने वाले समानांतर चतुर्भुजों की संख्या की गणना करना है। समानांतर चतुर्भुज में एक चतुर्भुज की विपरीत भुजाएँ समानांतर होती हैं और इसलिए विपरीत कोण समान होते हैं। इनपुट - int a[] = {0, 2, 5, 5,