मान लीजिए कि हमारे पास दो तार s और t हैं, हमें यह पता लगाना होगा कि t उत्पन्न करने के लिए स्ट्रिंग s को कितनी बार संयोजित किया जा सकता है। यदि हम s का उपयोग करके t उत्पन्न नहीं कर सकते हैं, तो -1 लौटाएं।
इसलिए, यदि इनपुट s ="tom" t ="tomtomtom" जैसा है, तो आउटपुट 3 होगा क्योंकि हम "tomtomtom" प्राप्त करने के लिए "tom" को 3 बार जोड़ सकते हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- यदि t का आकार s के आकार से विभाज्य नहीं है, तो
- वापसी -1
- cnt :=भागफल (t का आकार / s का आकार)
- s :=कई बार संयोजित करें
- यदि s, t के समान है, तो
- वापसी सीएनटी
- वापसी -1
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def solve(s, t): if(len(t) % len(s) != 0): return -1; cnt = int(len(t) / len(s)) s = s * cnt if(s == t): return cnt return -1 s = "tom" t = "tomtomtom" print(solve(s, t))
इनपुट
"tom", "tomtomtom"
आउटपुट
3