এই সমস্যার ইনপুটটিতে, একটি বাক্য শূন্যস্থান ছাড়াই দেওয়া হয়েছে, অন্য অভিধানে কিছু বৈধ ইংরেজি শব্দও দেওয়া হয়েছে। আমাদের পৃথক অভিধান শব্দে বাক্য ভাঙার সম্ভাব্য উপায় খুঁজে বের করতে হবে।
আমরা একটি বৈধ শব্দ খুঁজে বের করার জন্য স্ট্রিংয়ের বাম দিক থেকে অনুসন্ধান করার চেষ্টা করব যখন একটি বৈধ শব্দ পাওয়া যায়, আমরা সেই স্ট্রিংয়ের পরবর্তী অংশে শব্দগুলি অনুসন্ধান করব৷
ইনপুট এবং আউটপুট
ইনপুট:অভিধান হিসাবে বৈধ শব্দের একটি সেট, এবং একটি স্ট্রিং যেখানে শূন্যস্থান ছাড়াই বিভিন্ন শব্দ স্থাপন করা হয়। অভিধান:{mobile, sam, sung, man, mango, icecream, and, go, i, love, ice, cream }প্রদত্ত স্ট্রিং:“ilovemangoicecream”আউটপুট:প্রদত্ত শব্দগুলিতে স্ট্রিং ভাঙার সম্ভাব্য সমস্ত উপায়অ্যালগরিদম
wordBreak(string, n, result)ইনপুট −৷ প্রদত্ত স্ট্রিং, স্ট্রিংয়ের দৈর্ঘ্য, পৃথক করা স্ট্রিং।
আউটপুট − একটি অভিধান ব্যবহার করে পৃথক স্ট্রিং।
i :=0 থেকে n এর জন্য শুরু করুন, (0..i) থেকে প্রদত্ত স্ট্রিং এর subStr :=সাবস্ট্রিং করুন যদি সাবস্ট্রিং অভিধানে থাকে, তারপর i =n হলে ফলাফল :=ফলাফল + সাবস্ট্রিং ফলাফল রিটার্ন প্রদর্শন করে wordBreak(substring from (i..ni), ni, result, subStr, 'space') সম্পন্ন হয়েছেউদাহরণ
#include#define N 13using namespace std;string dictionary[N] ={"mobile","samsung","sam","sung","man","mango", "icecream", "and", "go","i","love","ice","cream"};int isInDict(স্ট্রিং শব্দ){ //চেক করুন শব্দটি অভিধানে আছে কি না (int i =0; i আউটপুট
আমি ভালোবাসি ম্যান গো আইসক্রিমি ভালোবাসি মানুষ গো আইসক্রিমি ভালোবাসি ম্যাঙ্গো আইসক্রিম ভালোবাসি ম্যাঙ্গো আইসক্রিম