मान लीजिए कि हमारे पास लंबाई 2 की एक स्ट्रिंग है, और शब्दों की एक सूची भी है जहां सभी शब्द लंबाई 2 के हैं। हमें यह जांचना होगा कि क्या हम शब्दों को w से जोड़ सकते हैं और उस संयोजित स्ट्रिंग में s सबस्ट्रिंग के रूप में है या नहीं।पी>
इसलिए, यदि इनपुट s ="no", w =["ol", "on", "ni", "to"] जैसा है, तो आउटपुट ट्रू होगा क्योंकि हम "onol" जैसे स्ट्रिंग्स को जोड़ सकते हैं। इसमें "नहीं" है
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- n :=w में शब्दों की संख्या
- char_0 :=असत्य, char_1 :=असत्य
- मैं के लिए 0 से n -1 की सीमा में, करो
- यदि w[i] s के समान है, तो
- सही लौटें
- यदि s[0] w[i, 1] के समान है, तो
- char_0 :=सच
- यदि s[1] w[i, 0] के समान है, तो
- char_1 :=सच
- यदि char_0 और char_1 दोनों सत्य हैं, तो
- सही लौटें
- यदि w[i] s के समान है, तो
- झूठी वापसी
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def solve(s, w): n = len(w) char_0 = False char_1 = False for i in range(n): if w[i] == s: return True if s[0] == w[i][1]: char_0 = True if s[1] == w[i][0]: char_1 = True if char_0 and char_1: return True return False s = "no" w = ["ol", "on", "ni", "to"] print(solve(s, w))
इनपुट
"no", ["ol", "on", "ni", "to"]
आउटपुट
True