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

पायथन में सबसे छोटा पूर्ण करने वाला शब्द


मान लीजिए हमारे पास शब्दों का एक शब्दकोश है, और हमें दिए गए शब्दकोश शब्दों से न्यूनतम लंबाई वाला शब्द ढूंढना है, जिसमें licensePlate स्ट्रिंग के सभी अक्षर हों। ऐसा शब्द licensePlate स्ट्रिंग को पूरा करता है। यहां हम अक्षरों के लिए केस को नजरअंदाज करते हैं। और यह गारंटी है कि एक उत्तर मौजूद है। यदि एक से अधिक उत्तर हैं, तो वह उत्तर वापस करें जो सरणी में पहले आता है।

लाइसेंस प्लेट में समान अक्षर कई बार हो सकते हैं। इसलिए यदि licensePlate "PP" है, तो शब्द "pile" licensePlate को पूरा नहीं करता, लेकिन "topper" करता है।

उदाहरण के लिए, यदि इनपुट licensePlate = "1s3 PSt", words = ["step", "steps", "stripe", "stepple"] है, तो आउटपुट "steps" होगा, क्योंकि सबसे छोटी लंबाई वाला शब्द जिसमें "S", "P", "S", "T" अक्षर हैं, वह "steps" है।

हल करने के चरण

  • alphabet := "abcdefghijklmnopqrstuvwxyz"
  • letters := licensePlate से उन सभी s की सूची जो alphabet में हैं, लोअरकेस में
  • valid_words := एक नई सूची
  • words में प्रत्येक i के लिए:
    • append := True
    • letters में प्रत्येक j के लिए:
      • append := append और (letters में j की संख्या <= i में j की संख्या)
    • यदि append सत्य है, तो:
      • i को valid_words के अंत में डालें
  • valid_words में न्यूनतम लंबाई वाला शब्द वापस करें

उदाहरण

class Solution:
    def shortestCompletingWord(self, licensePlate, words):
        alphabet = "abcdefghijklmnopqrstuvwxyz"
        letters = [s.lower() for s in licensePlate if s.lower() in alphabet]
        valid_words = []
        for i in words:
            append = True
            for j in letters:
                append = append and (letters.count(j) <= i.count(j))
            if append:
                valid_words.append(i)
        return min(valid_words, key=len)

ob = Solution()
print(ob.shortestCompletingWord("1s3 PSt", ["step", "steps", "stripe", "stepple"]))

इनपुट

"1s3 PSt", ["step", "steps", "stripe", "stepple"]

आउटपुट

steps
  1. - कैसे जांचें कि दिया गया शब्द Python कीवर्ड है या नहीं?

    इस प्रोग्राम में, हम जांचेंगे कि दिया गया शब्द Python कीवर्ड है या नहीं। ऐसा करने के लिए, हम keyword लाइब्रेरी से iskeyword() फ़ंक्शन का उपयोग करेंगे। एल्गोरिदम चरण 1: keyboard आयात करें। चरण 2: जांचें कि दी गई स्ट्रिंग कीवर्ड है या नहीं। उदाहरण कोड import keyword words = [city, music, in, if] for

  1. Python Tkinter से Word Dictionary बनाएं Python Tkinter से Word Dictionary बनाएं

    इस लेख में, हम PyDictionary और Tkinter Module का उपयोग करके GUI-based dictionary बनाएंगे। PyDictionary एक Python Module है जो शब्दों के अर्थ, अनुवाद, विलोम और समानार्थी प्राप्त करने में मदद करता है। यह अर्थ प्राप्त करने के लिए WordNet, अनुवाद के लिए Google, और समानार्थी व विलोम के लिए synonym.com का

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

    इस समस्या में, एक फाइल है जिसमें कुछ टेक्स्ट है। हमें उन टेक्स्ट से वर्ड क्लाउड बनाना है और एक मास्किंग इमेज। प्रोग्राम वर्ड क्लाउड इमेज को png फॉर्मेट में स्टोर करेगा।इस समस्या को लागू करने के लिए, हमें पायथन की कुछ लाइब्रेरीज़ का उपयोग करने की आवश्यकता है। लाइब्रेरीज़ हैं: matplotlib, wordcloud, n