Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में वर्ड ब्रेक II


मान लीजिए कि हमारे पास एक गैर-रिक्त स्ट्रिंग s और वर्डडिक्ट नामक एक शब्दकोष है, इस शब्दकोश में गैर-रिक्त शब्दों की एक सूची है, एक वाक्य बनाने के लिए s में रिक्त स्थान जोड़ें जहां प्रत्येक शब्द है एक वैध शब्दकोश शब्द। हमें ऐसे सभी संभावित वाक्यों को खोजना होगा। "एप्पलरेनकोट" और शब्दकोश ["ऐप", "सेब", "रेन", "कोट", "रेनकोट"]

है

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • एक मैप मेमो बनाएं

  • हल नामक एक विधि को परिभाषित करें, इसमें स्ट्रिंग और वर्डडिक्ट लगेगा

  • यदि s शून्य है, तो खाली सूची लौटाएं

  • अगर मेमो में है, तो -

    • वापसी मेमो[s]

  • एक सरणी रिट बनाएं

  • मेरे लिए 1 से लेकर s के आकार तक

    • यदि वर्ड डिक्ट में इंडेक्स 0 से i - 1 में s का सबस्ट्रिंग मौजूद है, तो

      • हल करने के लिए j के लिए (i से अंत तक s का सबस्ट्रिंग, wordDict)

      • p :=इंडेक्स 0 से i-1 में s का सबस्ट्रिंग, स्पेस और j के साथ संयोजित करें, फिर बाएँ और दाएँ से अतिरिक्त स्थान साफ़ करें -

      • रिट में p डालें

  • ज्ञापन [एस] :=सेवानिवृत्त

  • वापसी मेमो[s]

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

class Solution(object):
   def wordBreak(self, s, wordDict):
      self.memo = {}
      wordDict = set(wordDict)
      return self.solve(s,wordDict)
   def solve(self,s, wordDict):
      if not s:
         return ['']
      if s in self.memo:
         return self.memo[s]
      ret = []
      for i in range(1,len(s)+1):
         if s[:i] in wordDict:
            for j in self.solve(s[i:],wordDict):
               ret.append((s[:i] + " " + j).strip())
      self.memo[s] = ret
      return self.memo[s]

ob = Solution()
print(ob.wordBreak("appleraincoat",["app","apple","rain","coat","rain coat"]))

इनपुट

"appleraincoat"
["app","apple","rain","coat","raincoat"]

आउटपुट

['apple rain coat', 'apple raincoat']

  1. पायथन टिंकर का उपयोग करते हुए वर्ड डिक्शनरी

    इस लेख में, हम PyDictionary और TkinterModule का उपयोग करके GUI- आधारित शब्दकोश बनाएंगे। PyDictionary एक पायथन मॉड्यूल है जो शब्दों के अर्थ अनुवाद, विलोम और समानार्थक शब्द प्राप्त करने में मदद करता है। यह वर्डनेट . का उपयोग करता है अर्थ प्राप्त करने के लिए, अनुवाद के लिए Google, और समानार्थी और विलो

  1. पायथन का उपयोग करके वर्ड क्लाउड बनाएं

    इस समस्या में कुछ टेक्स्ट वाली फ़ाइल है। हमें उन टेक्स्ट और एक मास्किंग इमेज से वर्ड क्लाउड बनाना है। प्रोग्राम क्लाउड इमेज शब्द को png . के रूप में संग्रहीत करेगा प्रारूप। इस समस्या को लागू करने के लिए, हमें अजगर के कुछ पुस्तकालयों का उपयोग करने की आवश्यकता है। पुस्तकालय matplotlib, Wordcloud, num

  1. पायथन में लूप के लिए कैसे तोड़ें?

    आम तौर पर लूप के लिए एक श्रेणी में प्रत्येक आइटम के लिए एक ब्लॉक पर पुनरावृति करने के लिए बनाया गया है। यदि सभी पुनरावृत्तियों को पूरा करने से पहले लूप की समयपूर्व समाप्ति की मांग की जाती है, तो ब्रेक कीवर्ड का उपयोग किया जाता है। यह हमेशा लूप के शरीर के अंदर एक सशर्त बयान में प्रयोग किया जाता है fo