এই টিউটোরিয়ালে, আমরা শিখব কিভাবে প্রদত্ত দুটি স্ট্রিং থেকে স্বতন্ত্র অক্ষর খুঁজে বের করা যায়। আসুন একটি উদাহরণ দেখি।
ইনপুট
string_one = "tutorialspoint" string_two = "tutorialsworld"
আউটপুট
d n p w
আমরা সমস্যা সমাধানের জন্য হ্যাশিং ব্যবহার করতে যাচ্ছি। এটি দুটি নেস্টেড লুপ লেখার চেয়ে বেশি দক্ষ
চলুন প্রোগ্রামটি সমাধানের ধাপগুলো দেখি।
-
কিছু র্যান্ডম মান দিয়ে দুটি স্ট্রিং শুরু করুন।
-
মানচিত্র
হিসাবে একটি মানচিত্র শুরু করুনঅক্ষর -
প্রথম স্ট্রিং এর উপর পুনরাবৃত্তি করুন এবং মান 1 সহ মানচিত্রে প্রতিটি অক্ষর সন্নিবেশ করুন।
-
এখন, দ্বিতীয় স্ট্রিং এর উপর পুনরাবৃত্তি করুন।
-
অক্ষরটি ইতিমধ্যে উপস্থিত আছে কিনা তা পরীক্ষা করুন৷
-
উপস্থিত থাকলে, এটিতে 0 বরাদ্দ করুন।
-
উপস্থিত না থাকলে মান 1 সহ অক্ষর সন্নিবেশ করুন।
-
-
মানচিত্রের উপর পুনরাবৃত্তি করুন এবং মান 1 সহ অক্ষর মুদ্রণ করুন।
উদাহরণ
নিচের কোডটি দেখুন।
#include <bits/stdc++.h>
#include <map>
using namespace std;
void findDistinctCharacters(string one, string two){
// initializing char presence in string
map<char, int> chars;
// iterating over the first string
for (int i = 0; i < one.size(); ++i){
// inserting every character into map
chars.insert({one[i], 1});
}
// iterating over the second string
for (int i = 0; i < two.size(); ++i){
// checking whether the current char in string or not
if (chars.count(two[i])) {
// assigning 0 for common chars
chars.find(two[i])->second = 0;
}
else {
// insering new chars
chars.insert({two[i], 1});
}
}
// printing the distinct characters
for (auto item: chars){
// checking the presence
if (item.second == 1) {
// printing the distinct char
cout << item.first << " ";
}
}
}
int main(){
string one = "tutorialspoint";
string two = "tutorialsworld";
findDistinctCharacters(one, two);
return 0;
} আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
d n p w
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।