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

C++ में स्ट्रिंग के एक ट्रैवर्सल में पहला नॉन-रिपीटिंग कैरेक्टर ढूंढना


परिचय

इस ट्यूटोरियल में हम दी गई स्ट्रिंग में पहले नॉन-रिपीटिंग (non-repeating) कैरेक्टर को ढूंढना सीखेंगे। आइए एक उदाहरण देखते हैं।

इनपुट - tutorialspoint

आउटपुट - u

समस्या समाधान के चरण

  1. स्ट्रिंग को इनिशियलाइज़ करें।
  2. स्ट्रिंग में कैरेक्टर्स की फ्रीक्वेंसी स्टोर करने के लिए एक मैप (char और array) इनिशियलाइज़ करें।
  3. स्ट्रिंग पर पुनरावृत्ति करें।
  4. प्रत्येक कैरेक्टर की फ्रीक्वेंसी ढूंढें और उन्हें मैप में स्टोर करें।
  5. कैरेक्टर का इंडेक्स भी स्टोर करें।
  6. मैप में कैरेक्टर फ्रीक्वेंसीज पर पुनरावृत्ति करें।
  7. फ्रीक्वेंसी 1 वाले पहले कैरेक्टर को प्रिंट करें।

उदाहरण कोड

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

void findDistinctCharacters(string random_string) {
    // कैरेक्टर काउंट इनिशियलाइज़ करना
    map<char, int[2]> chars;
    // स्ट्रिंग पर पुनरावृत्ति
    for (int i = 0; i < random_string.size(); ++i){
        chars[random_string[i]][0]++;
        chars[random_string[i]][1] = i;
    }
    int char_index = INT_MAX;
    // फ्रीक्वेंसी 1 वाले पहले कैरेक्टर को प्रिंट करना
    for (auto item: chars) {
        // फ्रीक्वेंसी जांचना
        if (item.second[0] == 1) {
            char_index = min(char_index, item.second[1]);
        }
    }
    // फ्रीक्वेंसी 1 वाले पहले कैरेक्टर को प्रिंट करना
    cout << random_string[char_index] << endl;
}

int main() {
    findDistinctCharacters("tutorialspoint");
    return 0;
}

आउटपुट

u

निष्कर्ष

इस दृष्टिकोण में हम एक ही पास में फ्रीक्वेंसी और इंडेक्स दोनों स्टोर करते हैं, फिर न्यूनतम इंडेक्स वाले कैरेक्टर को ढूंढते हैं जिसकी फ्रीक्वेंसी 1 हो। समय जटिलता O(n) है जहां n स्ट्रिंग की लंबाई है। यदि आपके कोई प्रश्न हैं, तो कमेंट सेक्शन में पूछें।


  1. - C++ में स्ट्रिंग के प्रत्येक कैरेक्टर पर लूप करना

    इस प्रोग्राम में हम देखेंगे कि C++ में स्ट्रिंग के प्रत्येक कैरेक्टर के माध्यम से कैसे इटरेट करें। प्रत्येक कैरेक्टर पर लूप करने के लिए, हम 0 से (स्ट्रिंग लंबाई - 1) तक शुरू होने वाले लूप का उपयोग कर सकते हैं। कैरेक्टर तक पहुंचने के लिए हम या तो सबस्क्रिप्ट ऑपरेटर [] या स्ट्रिंग ऑब्जेक्ट के at() फं

  1. - C++ में स्ट्रिंग में किसी कैरेक्टर की फ्रीक्वेंसी खोजने का प्रोग्राम

    एक स्ट्रिंग एक एक-आयामी कैरेक्टर सरणी है जो नल कैरेक्टर द्वारा समाप्त होती है। स्ट्रिंग में कैरेक्टर्स की फ्रीक्वेंसी वह संख्या है जितनी बार वे स्ट्रिंग में आते हैं। उदाहरण के लिए: स्ट्रिंग: Football is a sport उपरोक्त स्ट्रिंग में वर्ण o की फ्रीक्वेंसी 3 है किसी विशेष वर्ण की फ्रीक्वेंसी खोजने का ए

  1. - पायथन में स्ट्रिंग में पहला अद्वितीय वर्ण

    मान लीजिए हमारे पास एक स्ट्रिंग है और हमें स्ट्रिंग में पहला अद्वितीय वर्ण ढूंढना है। उदाहरण के लिए, यदि स्ट्रिंग people जैसी है, तो पहला अक्षर जिसकी घटना एक है वह o है। तो सूचकांक वापस किया जाएगा, जो यहां 2 है। यदि ऐसा कोई वर्ण नहीं है, तो -1 वापस करें। हल करने के चरण एक फ्रीक्वेंसी मैप बनाएं स्ट