मान लीजिए, हमें एक सरणी प्रदान की जाती है जिसमें कई तार होते हैं जो समान लंबाई के होते हैं। हमें यह पता लगाना है कि क्या आपूर्ति की गई स्ट्रिंग्स में से कोई दो एक ही स्थिति में एक ही वर्ण से भिन्न होती है। यदि यह अंतर मौजूद है, तो हम सही लौटते हैं या फिर हम झूठे लौटते हैं।
इसलिए, यदि इनपुट dict =['pqrs', 'prqs', 'paqs'] जैसा है, तो आउटपुट ट्रू होगा। उत्पादित आउटपुट सही है क्योंकि इनपुट में सूचीबद्ध सभी स्ट्रिंग्स इंडेक्स 1 में भिन्न हैं। इसलिए, यदि कोई दो जोड़े लिए जाते हैं, तो एक ही स्थिति में अंतर होता है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
देखा:=एक नया सेट
-
dict में प्रत्येक शब्द के लिए, करें
-
शब्द में प्रत्येक अनुक्रमणिका i और वर्ण c के लिए, करें
-
नकाबपोश_शब्द:=शब्द [सूचकांक 0 से i तक] + '।' + शब्द [इंडेक्स i+1 से स्ट्रिंग के अंत तक]
-
अगर नकाबपोश शब्द सीन्स में मौजूद है, तो
-
सही लौटें
-
-
अन्यथा,
-
दृश्यों में जोड़ें(नकाबपोश_शब्द)
-
-
-
-
झूठी वापसी
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(dict): seens = set() for word in dict: for i, c in enumerate(word): masked_word = word[:i] + '.' + word[i+1:] if masked_word in seens: return True else: seens.add(masked_word) return False print(solve(['pqrs', 'prqs', 'paqs']))
इनपुट
['pqrs', 'prqs', 'paqs']
आउटपुट
True