কম্পিউটার টিউটোরিয়াল

স্ট্রিং-এ শেষ নন-রিপিটিং ক্যারেক্টার খুঁজে বের করা C++-তে


মনে করুন আমাদের একটি স্ট্রিং str আছে। আমাদের স্ট্রিং-এ শেষ নন-রিপিটিং ক্যারেক্টার বের করতে হবে। তাই যদি ইনপুট স্ট্রিং হয় "programming"। তবে প্রথম নন-রিপিটিং ক্যারেক্টার হবে 'n'। যদি এমন কোনো ক্যারেক্টার না থাকে, তবে -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. স্ট্রিং-এ প্রথম রিপিটেড ওয়ার্ড বের করা (C++)

  2. সর্টেড অর্ডারে Nth বাইনারি স্ট্রিং খুঁজে বের করা C++-এ

  3. C++ দিয়ে একটি স্ট্রিংয়ের সাবস্ট্রিং-এর সংখ্যা বের করা

  4. স্ট্রিংয়ের দৈর্ঘ্য (Length) বের করার C++ প্রোগ্রাম