এই সমস্যায়, আমাদের শুধুমাত্র অক্ষর এবং বর্ণমালা সমন্বিত একটি স্ট্রিং দেওয়া হয়েছে। আমাদের কাজ হল একটি স্ট্রিং-এ দীর্ঘতম দৈর্ঘ্যের সংখ্যা খুঁজে বের করা।
সমস্যা বর্ণনা: আমাদের সংখ্যার দৈর্ঘ্য খুঁজে বের করতে হবে অর্থাৎ স্ট্রিং-এ পরপর সংখ্যাসূচক অক্ষর।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট: str =“code001tutorials34124point”
আউটপুট: 34124
ব্যাখ্যা:
স্ট্রিং এর সংখ্যা হল
001 - আকার 3
34124 - আকার 5
সমাধান পদ্ধতি
সমস্যার একটি সহজ সমাধান হ'ল স্টিংটি অতিক্রম করে এবং সংখ্যার দৈর্ঘ্য এবং এর শুরুর সূচক খুঁজে বের করা। আমরা স্ট্রিং-এর প্রতিটি সংখ্যার জন্য স্ট্রিং-এ প্রারম্ভিক অবস্থান এবং অক্ষর গণনা সংরক্ষণ করব। এবং শেষে, নম্বরটি ফেরত দিন।
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#include <iostream>
using namespace std;
string findLongestNumber(string str, int l) {
int count = 0, max = 0, maxLenPos = -1, currPos, currLen, maxLen = 0;
for (int i = 0; i < l; i++) {
currPos = maxLenPos;
currLen = maxLen;
count = 0;
maxLen = 0;
if (isdigit(str[i]))
maxLenPos = i;
while (isdigit(str[i])) {
count++;
i++;
maxLen++;
}
if (count > max) {
max = count;
}
else {
maxLenPos = currPos;
maxLen = currLen;
}
}
return (str.substr(maxLenPos, maxLen));
}
int main() {
string str = "code001tutorials34124point";
int l = str.length();
cout<<"The longest length number in string is "<<findLongestNumber(str, l);
return 0;
} আউটপুট
The longest length number in string is 34124