मान लीजिए कि हमारे पास लोअरकेस स्ट्रिंग्स की एक सूची है, हमें सबसे लंबा सामान्य उपसर्ग ढूंढना है।
इसलिए, अगर इनपुट ["एंटीवायरस", "एंटीक्लॉकवाइज", "एंटीग्रैविटी"] जैसा है, तो आउटपुट "एंटी" होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
सूची के शब्दों को वर्णानुक्रम में क्रमबद्ध करें
- उपसर्ग:=एक नई सूची
- झंडा :=0
- मेरे लिए 0 से लेकर शब्दों के आकार तक[0], करें
- शब्दों में प्रत्येक j के लिए, करें
- यदि j[i] उपसर्ग के अंतिम तत्व के समान नहीं है, तो
- उपसर्ग से अंतिम तत्व हटाएं
- झंडा :=1
- लूप से बाहर आएं
- यदि j[i] उपसर्ग के अंतिम तत्व के समान नहीं है, तो
- यदि ध्वज 1 के समान है, तो
- लूप से बाहर आएं
- शब्दों में प्रत्येक j के लिए, करें
- उपसर्ग सरणी में मौजूद सभी तत्वों को संयोजित करने के बाद वापसी स्ट्रिंग
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, words): words.sort() prefix = [] flag = 0 for i in range(len(words[0])): prefix.append(words[0][i]) for j in words: if j[i] != prefix[-1]: prefix.pop() flag = 1 break if flag == 1: break return ''.join(prefix) ob = Solution() words = ["antivirus", "anticlockwise", "antigravity"] print(ob.solve(words))
इनपुट
["antivirus", "anticlockwise", "antigravity"]
आउटपुट
anti