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

C++ में स्ट्रिंग संपीड़न (Compress String) - लगातार डुप्लिकेट हटाएं


स्ट्रिंग दी गई है। लगातार डुप्लिकेट वर्णों को हटाकर केवल एक प्रति रखें। क्रम वही रहे।

उदाहरण: "heeeeelllllllloooooo" → "helo"।

सरल एल्गोरिदम: परिणाम स्ट्रिंग बनाएं, प्रत्येक वर्ण के लिए यदि यह परिणाम के अंतिम वर्ण से अलग है तो जोड़ें।

C++ कार्यान्वयन

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    string solve(string s) {
        string ret = "";
        for (int i = 0; i < s.size(); i++) {
            if (ret.size() && ret.back() == s[i]) continue;
            ret += s[i];
        }
        return ret;
    }
};

int main() {
    Solution ob;
    cout << ob.solve("heeeeelllllllloooooo");
    return 0;
}

इनपुट

"heeeeelllllllloooooo"

आउटपुट

helo
  1. C++ में जंप गेम V C++ में जंप गेम V

    मान लीजिए हमारे पास arr नामक पूर्णांकों की एक सरणी और एक पूर्णांक d है। एक चरण में हम इंडेक्स i से कूद सकते हैं: i + x जहां: i + x < n और x की सीमा 1 से d है। = 0 और x की सीमा 1 से d है। arr[k] हो। हम सरणी के किसी भी इंडेक्स से कूदना शुरू कर सकते हैं। हमें अधिकतम इंडेक्स की संख्या ज्ञात करनी है ज

  1. - C++ में स्ट्रिंग को टोकनाइज़ करना

    इस खंड में, हम देखेंगे कि C++ में स्ट्रिंग्स को कैसे टोकनाइज़ किया जाए। C में हम कैरेक्टर सरणी के लिए strtok() फंक्शन का उपयोग कर सकते हैं। यहां हमारे पास एक स्ट्रिंग क्लास है। अब हम देखेंगे कि उस स्ट्रिंग से किसी डिलीमीटर का उपयोग करके स्ट्रिंग को कैसे काटा जाए। C++ सुविधा का उपयोग करने के लिए, हम

  1. - C++ में स्ट्रिंग को टोकनाइज़ कैसे करें?

    पहला तरीका शब्दों को स्पेस से अलग करके पढ़ने के लिए stringstream का उपयोग करना है। यह थोड़ा सीमित है लेकिन अगर आप उचित चेक प्रदान करते हैं तो यह कार्य काफी अच्छी तरह से करता है। उदाहरण #include <vector> #include <string> #include <sstream> using namespace std; int main() {