ধরুন আমাদের একটি স্ট্রিং s, এবং স্ট্রিং A এর আরেকটি অ্যারে রয়েছে। আমাদের খুঁজে বের করতে হবে যে অ্যারেটিতে বিভিন্ন দৈর্ঘ্যের বর্তমান স্ট্রিং থেকে এক-অক্ষরের পার্থক্য সহ একটি স্ট্রিং রয়েছে কিনা। ধরুন স্ট্রিংটি "কলা" এর মতো, এবং অ্যারেটি দেখতে [“বানা”, “কমলা”, “বানাবা”, “ব্যানাপি”] এর মতো, ফলাফলটি সত্য হবে, যেহেতু একটি স্ট্রিং বানাবা আছে, এখানে শুধুমাত্র একটি অক্ষর রয়েছে একটি কলার চেয়ে আলাদা৷
এই সমস্যা সমাধানের জন্য, আমরা কিছু ধাপ অনুসরণ করব -
-
প্রদত্ত স্ট্রিং s এর মধ্য দিয়ে যান, এবং অ্যারের প্রতিটি স্ট্রিং পরীক্ষা করুন, তারপর arr -
-এ প্রতিটি স্ট্রিংয়ের জন্য এই পদক্ষেপগুলি অনুসরণ করুন-
স্ট্রিং s
এর সাথে arr-এর স্ট্রিংটির দৈর্ঘ্য একই আছে কিনা তা পরীক্ষা করুন -
যদি দৈর্ঘ্য একই হয়, তাহলে পরীক্ষা করুন যে কোনো একক অক্ষর মিল আছে কি না, যদি হ্যাঁ, তাহলে সত্য, অন্যথায় মিথ্যা দিন।
-
উদাহরণ
#include<iostream>
#include<vector>
using namespace std;
bool hasOneCharMismatch(vector<string>arr, string s) {
int n = arr.size();
if (n == 0)
return false;
for (int i = 0; i < n; i++) {
if (arr[i].size() != s.size())
continue;
bool difference = false;
for (int j = 0; j < (int)arr[i].size(); j++) {
if (arr[i][j] != s[j]) {
if (!difference)
difference = true;
else {
difference = false;
break;
}
}
}
if (difference)
return true;
}
return false;
}
int main() {
vector<string> arr;
arr.push_back("bana");
arr.push_back("orange");
arr.push_back("banaba");
arr.push_back("banapy");
if(hasOneCharMismatch(arr, "banana")){
cout << "One character mismatch found";
}
else{
cout << "One character mismatch not found";
}
} আউটপুট −
One character mismatch found