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

C++ प्रोग्राम: दी गई स्ट्रिंग के वर्ण हटाकर शब्दकोश में सबसे बड़ा शब्द ज्ञात करना

मान लें हमारे पास एक शब्दकोश है, और एक स्ट्रिंग s है। शब्दकोश में सबसे लंबी स्ट्रिंग ज्ञात करें, जिसे स्ट्रिंग s के कुछ वर्णों को हटाकर बनाया जा सकता है। मान लें s "apbreoigroakml" है, शब्दकोश में {"prog", "ram", "program"} है, तो परिणाम "program" होगा।

इसे हल करने के लिए, हम सभी शब्दकोश शब्दों को पार करेंगे, और प्रत्येक शब्द के लिए, हम जांचेंगे कि क्या यह दिए गए स्ट्रिंग का उपअनुक्रम है और ऐसे सभी शब्दों में सबसे लंबा है। अंत में दिए गए स्ट्रिंग को उपअनुक्रम के रूप में रखने वाला सबसे लंबा शब्द लौटाएं।

उदाहरण

#include <iostream>
#include <vector>
using namespace std;

bool isSubSequence(string s1, string s2) {
    int m = s1.length(), n = s2.length();
    int j = 0;
    for (int i = 0; i < n && j < m; i++)
        if (s1[j] == s2[i])
            j++;
    return (j == m);
}

string getLongestSubstr(vector dict, string s) {
    string result = "";
    int length = 0;
    for (string word : dict) {
        if (length < word.length() && isSubSequence(word, s)) {
            result = word;
            length = word.length();
        }
    }
    return result;
}

int main() {
    vector dict = {"prog", "ram", "program"};
    string str = "apbreoigroakml";
    cout << getLongestSubstr(dict, str) << endl;
}

आउटपुट

program
  1. - C++ प्रोग्राम: दी गई स्ट्रिंग में "1(0+)1" के सभी पैटर्न ज्ञात करना

    मान लें किसी स्ट्रिंग में 1(0+)1 जैसे पैटर्न हैं। जहां (0+) 1 की गैर-खाली लगातार घटनाओं को इंगित करता है। हमें सभी पैटर्न ज्ञात करने हैं। पैटर्न ओवरलैप हो सकते हैं। स्ट्रिंग आवश्यक रूप से बाइनरी स्ट्रिंग नहीं है। यह केवल अंक और लोअरकेस वर्ण रख सकती है। मान लें स्ट्रिंग 1101001 की तरह है, तो ऐसे दो प

  1. - C++ प्रोग्राम: दो दी गई स्ट्रिंग्स में असामान्य वर्ण ढूंढना

    इस लेख में, हम एक प्रोग्राम पर चर्चा करेंगे जो दो अलग-अलग दी गई स्ट्रिंग्स की तुलना के दौरान असामान्य वर्णों को ढूंढता है। जैसा कि हम जानते हैं, स्ट्रिंग्स वर्णों के एरे के अलावा कुछ नहीं हैं। इसलिए, तुलना के लिए हम एक स्ट्रिंग के वर्णों के माध्यम से पार करेंगे और साथ ही जांचेंगे कि क्या वह तत्व दू

  1. - C++ प्रोग्राम: दी गई स्ट्रिंग के क्रमचय (Permutations) की संख्या ज्ञात करना

    हम एक स्ट्रिंग के कैरेक्टर्स को अलग-अलग क्रम में व्यवस्थित कर सकते हैं। यहां हम देखेंगे कि दी गई स्ट्रिंग से कितने क्रमचय बनाए जा सकते हैं। हम जानते हैं कि यदि एक स्ट्रिंग abc है। इसमें तीन कैरेक्टर्स हैं; हम उन्हें 3! = 6 अलग-अलग तरीकों से व्यवस्थित कर सकते हैं। इसलिए n कैरेक्टर्स वाली स्ट्रिंग क