এই টিউটোরিয়ালে, আমরা শিখব কিভাবে দেওয়া স্ট্রিং-এ প্রথম নন-রিপিটিং ক্যারেক্টার খুঁজে বের করতে হয়। একটি উদাহরণ দেখি।
ইনপুট - tutorialspoint
আউটপুট - u
সমস্যাটি সমাধানের ধাপগুলো:
- স্ট্রিং ইনিশিয়ালাইজ করুন।
- ক্যারেক্টারের ফ্রিকোয়েন্সি স্টোর করার জন্য map
ইনিশিয়ালাইজ করুন। - স্ট্রিংয়ের ওপর ইটারেট করুন।
- প্রতিটি ক্যারেক্টারের ফ্রিকোয়েন্সি বের করে ম্যাপে স্টোর করুন।
- ক্যারেক্টারের ইনডেক্সও স্টোর করুন।
- ম্যাপে ক্যারেক্টার ফ্রিকোয়েন্সির ওপর ইটারেট করুন।
- ফ্রিকোয়েন্সি ১ যে ক্যারেক্টারের প্রথমে পাওয়া যায় সেটি প্রিন্ট করুন।
উদাহরণ
কোডটি দেখি।
#include <bits/stdc++.h>
#include <map>
using namespace std;
void findDistinctCharacters(string random_string) {
// initializing char count
map<char, int[2]> chars;
// iterating over the string
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;
// printing the first char with frequency 1
for (auto item : chars) {
// checking the frequency
if (item.second[0] == 1) {
char_index = min(char_index, item.second[1]);
}
}
// printing the first char with frequency 1
cout << random_string[char_index] << endl;
}
int main() {
findDistinctCharacters("tutorialspoint");
return 0;
}
আউটপুট
u
উপসংহার
টিউটোরিয়ালে যদি কোনো প্রশ্ন থাকে, তবে কমেন্ট সেকশনে জানান।