मान लीजिए हमारे पास दो वाक्य s और t हैं। हमें जांचना है कि वे समान हैं या नहीं। यहां वाक्य में केवल अंग्रेजी अक्षर होते हैं। दो वाक्यों को समान कहा जाता है जब इन दिए गए वाक्यों में से एक के अंदर एक मनमाना वाक्य (संभवतः खाली) जोड़ना संभव हो ताकि दोनों वाक्य बराबर हो जाएं।
उदाहरण के लिए, यदि इनपुट s = "we live at city Kolkata", t = "city Kolkata" है, तो आउटपुट True होगा क्योंकि हम t में वाक्य "we live in" जोड़कर s प्राप्त कर सकते हैं।
हल करने के चरण
s1 := sके शब्दों की सूचीs2 := tके शब्दों की सूची- यदि
len(s1) > len(s2), तोs1औरs2को स्वैप करें। s1खाली न होने तक व्हाइल लूप चलाएं:- यदि
s2[0] == s1[0], तोs2औरs1से पहला शब्द हटाएं। - अन्यथा यदि
s2[-1] == s1[-1], तोs2औरs1से अंतिम शब्द हटाएं। - अन्यथा,
Falseवापस करें।
- यदि
Trueवापस करें।
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
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