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

सी ++ में स्ट्रिंग में अंतिम गैर-दोहराए जाने वाले वर्ण का पता लगाएं

मान लीजिए कि हमारे पास एक स्ट्रिंग str. हमें इसमें अंतिम गैर-दोहराए जाने वाले चरित्र को खोजना होगा। तो अगर इनपुट स्ट्रिंग "प्रोग्रामिंग" की तरह है। तो पहला गैर-दोहराव चरित्र 'एन' है। यदि ऐसा कोई वर्ण मौजूद नहीं है, तो -1 लौटें।

हम इसे एक आवृत्ति सरणी बनाकर हल कर सकते हैं। यह दिए गए स्ट्रिंग के प्रत्येक वर्ण की आवृत्ति को संग्रहीत करेगा। एक बार फ़्रीक्वेंसी अपडेट हो जाने के बाद, एक-एक करके अंतिम वर्ण से स्ट्रिंग को ट्रैवर्स करना शुरू करें। फिर जांचें कि संग्रहीत आवृत्ति 1 है या नहीं, यदि 1 है, तो वापस आएं, अन्यथा पिछले वर्ण के लिए जाएं।

उदाहरण

#include <iostream>
using namespace std;
const int MAX = 256;
static string searchNonrepeatChar(string str) {
   int freq[MAX] = {0};
   int n = str.length();
   for (int i = 0; i < n; i++)
      freq[str.at(i)]++;
   for (int i = n - 1; i >= 0; i--) {
      char ch = str.at(i);
      if (freq[ch] == 1) {
         string res;
         res+=ch;
         return res;
      }
   }
   return "-1";
}
int main() {
   string str = "programming";
   cout<< "Last non-repeating character: " << searchNonrepeatChar(str);
}

आउटपुट

Last non-repeating character: n

  1. सी ++ में एक स्ट्रिंग में पहला दोहराया शब्द खोजें

    इस समस्या में, हम अल्पविराम से अलग किए गए शब्दों से मिलकर एक स्ट्रिंग स्ट्रिंग हैं। हमारा काम है एक स्ट्रिंग में दोहराए गए पहले शब्द को ढूंढना । हमें स्ट्रिंग में दोहराए जाने वाले पहले शब्द दो रिक्त स्थान के बीच की स्ट्रिंग को खोजने की जरूरत है। समस्या को समझने के लिए एक उदाहरण लेते हैं, Input :

  1. C++ में क्रमबद्ध क्रम में n-वें बाइनरी स्ट्रिंग खोजें

    इस समस्या में, हमें 1 की धनात्मक संख्या दी जाती है। हमारा कार्य Nth बाइनरी स्ट्रिंग को क्रमबद्ध क्रम में खोजना है। हमें Nth स्ट्रिंग को केवल दो प्रतीकों a और b का उपयोग करके बनाए गए स्ट्रिंग्स की एक अनंत सूची में खोजने की आवश्यकता है, जो लेक्सिकोग्राफ़िक क्रम में क्रमबद्ध हैं। सूची है - a, b, aa,

  1. C++ का उपयोग करके एक स्ट्रिंग के सबस्ट्रिंग की संख्या ज्ञात करें

    इस लेख में, आप किसी दिए गए स्ट्रिंग में बनाए जा सकने वाले सबस्ट्रिंग (गैर-रिक्त) की संख्या को खोजने के तरीकों के बारे में जानेंगे। Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, &lsqu