हमें एक गैर-खाली स्ट्रिंग str और स्ट्रिंग की एक सरणी arr दी गई है जिसमें गैर-खाली शब्दों की सूची है।
हमें एक फ़ंक्शन लिखना आवश्यक है जो यह निर्धारित करता है कि क्या str को एक स्पेस-सेपरेटेड अनुक्रम में विभाजित किया जा सकता है जिसमें सरणी में मौजूद एक या अधिक शब्द हों।
नोट
सरणी में समान शब्द का विभाजन में कई बार पुन: उपयोग किया जा सकता है।
सरणी में डुप्लिकेट शब्द नहीं हैं।
उदाहरण 1
यदि इनपुट है
const str = "applepenapple"; const arr = ["apple", "pen"];
आउटपुट true होना चाहिए, क्योंकि
"applepenapple" को "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