मान लीजिए हमारे पास दो वाक्य s और t हैं। हमें यह जांचना होगा कि वे समान हैं या नहीं। यहाँ वाक्य में केवल अंग्रेजी अक्षर हैं। दो वाक्यों को समान कहा जाता है जब इन दिए गए वाक्यों में से एक के अंदर एक मनमाना वाक्य (संभवतः खाली) जोड़ना संभव हो, ताकि दो वाक्य बराबर हो जाएं।
इसलिए, यदि इनपुट s ="हम शहर कोलकाता में रहते हैं" t ="शहर कोलकाता" जैसा है, तो आउटपुट सही होगा क्योंकि हम "हम रहते हैं" वाक्य जोड़कर t से s प्राप्त कर सकते हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
s1 :=शब्दों की एक सूची s
-
s2 :=t में शब्दों की एक सूची
-
यदि s1 का आकार> s2 का आकार, तो
-
स्वैप s1 और s2
-
-
जबकि s1 खाली नहीं है, करें
-
अगर s2[0], s1[0] के समान है, तो
-
s2 से पहला शब्द हटाएं
-
s1 से पहला शब्द हटाएं
-
-
अन्यथा जब s2 का अंतिम शब्द s1 के अंतिम शब्द के समान हो, तो
-
s2 से अंतिम शब्द हटाएं
-
s1 से अंतिम शब्द हटाएं
-
-
अन्यथा,
-
झूठी वापसी
-
-
-
सही लौटें
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(s, t): s1 = s.split() s2 = t.split() if len(s1) > len(s2): s1,s2 = s2,s1 while(s1): if(s2[0]==s1[0]): s2.pop(0) s1.pop(0) elif(s2[-1]==s1[-1]): s2.pop() s1.pop() else: return(False) return(True) s = "we live at city Kolkata" t = "city Kolkata" print(solve(s, t))
इनपुट
"we live at city Kolkata", "city Kolkata"
आउटपुट
True