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

C++ में अद्वितीय वर्णों के साथ संयोजित स्ट्रिंग की अधिकतम लंबाई


मान लीजिए हमारे पास स्ट्रिंग्स की एक सरणी arr है। स्ट्रिंग s, arr के एक उप-अनुक्रम का संयोजन है जिसमें अद्वितीय वर्ण हैं। s की अधिकतम संभव लंबाई ढूंढें। यदि इनपुट ["cha", "r", "act", "ers"] जैसा है, तो आउटपुट 6 होगा, संभावित समाधान "chaers" और "acters" हैं।

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • ok() नामक एक विधि बनाएं जो स्ट्रिंग्स s और t लेगी। यह निम्नानुसार कार्य करेगी:
  • x नामक एक मैप बनाएं
  • i को 0 से s के आकार तक लूप करें
    • x[s[i]] को 1 से बढ़ाएं
    • यदि x[s[i]] > 1, तो गलत लौटाएं
  • i को 0 से t के आकार तक लूप करें
    • x[t[i]] को 1 से बढ़ाएं
    • यदि x[t[i]] > 1, तो गलत लौटाएं
  • सही लौटाएं
  • वास्तविक विधि निम्नानुसार दिखेगी:
  • v नामक स्ट्रिंग्स की एक सरणी बनाएं, और ans := 0, v में एक खाली स्ट्रिंग डालें
  • i को 0 से arr के आकार तक लूप करें
    • n := v का आकार
    • j को 0 से n - 1 तक लूप करें
      • यदि ok(v[j], arr[i]) सही है, तो
        • t := v[j] + arr[i]
        • t को v में डालें
        • ans := ans और t के आकार का अधिकतम
  • ans लौटाएं

उदाहरण

#include <bits/stdc++.h> using namespace std; class Solution {    public:    bool ok(string s, string t){       map <char, int > x;       for(int i = 0; i < s.size(); i++){          x[s[i]]++;          if(x[s[i]] >1)return false;       }       for(int i = 0; i < t.size(); i++){          x[t[i]]++;          if(x[t[i]]>1)return false;       }       return true;    }    int maxLength(vector<string>& arr) {       vector <string> v;       int ans = 0;       v.push_back("");       for(int i = 0; i < arr.size(); i++){          int n = v.size();          for(int j = 0; j < n; j++){             if(ok(v[j],arr[i])){                string t = v[j]+arr[i];                v.push_back(t);                ans = max(ans,(int)t.size());             }          }       }       return ans;    } }; main(){    vector<string> v = {"cha","r","act","ers"};    Solution ob;    cout << (ob.maxLength(v)); }

इनपुट

["cha","r","act","ers"]

आउटपुट

6

  1. - पायथन में अद्वितीय वर्णों वाले संयोजित स्ट्रिंग की अधिकतम लंबाई ढूंढने का प्रोग्राम

    स्ट्रिंग्स की एक सूची words दी गई है। हमें शब्दों के एक उपअनुक्रम को संयोजित करके एक स्ट्रिंग बनानी है जिसमें प्रत्येक वर्ण अद्वितीय हो (कोई डुप्लिकेट नहीं)। ऐसे सबसे लंबे संयोजन की लंबाई वापस करनी है। उदाहरण इनपुट: words = [xyz, xyw, wab, cde] आउटपुट: 9 व्याख्या: हम xyz + wab + cde = xyzwabcde (लं

  1. - Python प्रोग्राम में असामान्य वर्णों के साथ संयुक्त स्ट्रिंग

    हमें दो स्ट्रिंग दी गई हैं और हमारा लक्ष्य एक नई स्ट्रिंग प्राप्त करना है जिसमें दोनों स्ट्रिंग के अद्वितीय वर्ण हों। मान लीजिए, यदि हमारे पास दो स्ट्रिंग hafeez और kareem हैं तो, दोनों स्ट्रिंग से उत्पन्न नई स्ट्रिंग hfzkrm होगी। हमारा उद्देश्य दो स्ट्रिंग से अलग-अलग वर्ण प्राप्त करना है। मेरे चरणो

  1. - असामान्य वर्णों के साथ स्ट्रिंग जोड़ने के लिए पायथन प्रोग्राम

    समस्या विवरण दो स्ट्रिंग्स दी गई हैं। पहली स्ट्रिंग से सभी सामान्य तत्व हटाएं और दूसरी स्ट्रिंग के असामान्य वर्णों को पहली स्ट्रिंग के असामान्य तत्वों के साथ जोड़ें। उदाहरण CDMNP एल्गोरिदम दोनों स्ट्रिंग्स को सेट st1 और st2 में बदलें। दोनों सेट्स का इंटरसेक्शन लेकर सामान्य वर्ण प्राप्त करें। अब