সমস্যা বিবরণ
একটি স্ট্রিং str দেওয়া আছে। আমাদের কাজ হল স্ট্রিং-এ সবচেয়ে বড় দৈর্ঘ্যের জোড় আকারের (even length) ওয়ার্ড বের করা। যদি একাধিক হয় তবে প্রথমটি।
উদাহরণ
ইনপুট: "learn programming at TutorialsPoint" আউটপুট: TutorialsPoint ব্যাখ্যা: TutorialsPoint-এর দৈর্ঘ্য ১৪ (জোড়) এবং সর্বোচ্চ।
সমাধানের পদ্ধতি
স্ট্রিং পার্স করে প্রতিটি ওয়ার্ডের দৈর্ঘ্য চেক করা। জোড় দৈর্ঘ্য এবং সর্বোচ্চ দৈর্ঘ্য থাকলে সেটি সেভ করা।
প্রোগ্রাম উদাহরণ
#include <bits/stdc++.h>
using namespace std;
string maxEvenLenWord(string str) {
int n=str.size(), i=0, curLen=0, maxLen=0, start=-1;
while(imaxLen){
maxLen=curLen; start=i-curLen;
}
curLen=0;
}else curLen++;
i++;
}
if(curLen%2==0 && curLen>maxLen){
maxLen=curLen; start=i-curLen;
}
return (start==-1)? "Not Found!" : str.substr(start,maxLen);
}
int main() {
cout << maxEvenLenWord("Learn programming at Tutorialspoint");
return 0;
}
আউটপুট
Tutorialspoint