इस समस्या को गतिशील प्रोग्रामिंग के साथ हल किया जा सकता है। हम n+1 आकार की एक सरणी dp[] बना सकते हैं (जहाँ n अंतिम इनपुट स्ट्रिंग s की लंबाई है) इस तरह कि dp[i] सच है यदि उप-स्ट्रिंग s[0:i] को अंतरिक्ष-पृथक शब्दों में विभाजित किया जा सकता है, अन्यथा गलत है। हम एक नेस्टेड लूप का उपयोग कर सकते हैं सभी संभावित उप-स्ट्रिंग्स पर पुनरावृत्ति करने के लिए और प्रत्येक उप-स्ट्रिंग के लिए, जाँच करें कि क्या यह शब्दकोश से एक शब्द को पहले से खंडित उप-स्ट्रिंग के साथ जोड़कर बनाया जा सकता है = सच है। यदि ऐसा खंड पाया जाता है, तो हम dp[i] को चालू करने के लिए सेट कर सकते हैं और अगले पुनरावृत्ति के लिए जारी रख सकते हैं। एक बार जब हम dp[i] को गणना कर लेते हैं, तो हम इसके अंतिम मूल्य को कोड के रूप में वापस कर सकते हैं: <p> s[i]<p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p>
एक स्ट्रिंग s और शब्दों के एक शब्दकोश dict को देखते हुए, यह निर्धारित करें कि s को एक या अधिक शब्दकोश शब्दों के एक स्थान-पृथक अनुक्रम में विभाजित किया जा सकता है। उदाहरण के लिए, यदि इनपुट स्ट्रिंग "leetcode" है और शब्दकोश ["leet", "कोड"] है, तो आउटपुट सत्य होना चाहिए।