আমাদের একটি নন-এম্পটি স্ট্রিং str এবং স্ট্রিংয়ের একটি অ্যারে arr দেওয়া আছে যাতে নন-এম্পটি ওয়ার্ডের লিস্ট আছে।
আমাদের একটি ফাংশন লিখতে হবে যা নির্ধারণ করবে str কি arr-তে থাকা এক বা একাধিক ওয়ার্ড দিয়ে স্পেস-সেপারেটেড সিকোয়েন্স-এ সেগমেন্ট করা যায়।
নোট
- অ্যারেতে একই ওয়ার্ড একাধিকবার সেগমেন্টেশনে ব্যবহার করা যেতে পারে।
- অ্যারেতে ডুপ্লিকেট ওয়ার্ড নেই।
উদাহরণ ১
ইনপুট হলে -
const str = "applepenapple"; const arr = ["apple", "pen"];
আউটপুট হবে true, কারণ -
"applepenapple" can be segmented as "apple pen apple".
উদাহরণ
const str = "applepenapple";
const arr = ["apple", "pen"];
const wordSequence = (str = '', arr = []) => {
const map = {};
function helper(str) {
if (map.hasOwnProperty(str)) {
return map[str];
} else if (str == '') {
return true;
}
for (let i = 0; i <= str.length; i++) {
if (arr.includes(str.slice(i)) && helper(str.slice(0, i))) {
map[str] = true;
return true;
}
};
map[str] = false;
return false;
};
return helper(str);
};
console.log(wordSequence(str, arr));
আউটপুট
কনসোলে আউটপুট হবে -
true