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

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

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

लाइसेंस प्लेट में एक ही पत्र कई बार हो सकता है। तो जब "पीपी" की लाइसेंस प्लेट, शब्द "पाइल" लाइसेंस प्लेट को पूरा नहीं करता है, लेकिन "टॉपर" शब्द करता है।

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

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

  • वर्णमाला :="abcdefghijklmnopqrstuvwxyz"
  • अक्षर :=सभी s को लाइसेंसप्लेट से लेकर जब s वर्णमाला में हो तब s की सूची लोअरकेस में
  • valid_words :=एक नई सूची
  • प्रत्येक i के लिए शब्दों में, करें
    • जोड़ें :=सच
    • अक्षरों में प्रत्येक j के लिए, करें
      • संलग्न करें:=संलग्न करें और (अक्षरों में j की संख्या <=i में j की संख्या)
    • यदि परिशिष्ट सत्य है, तो
      • Valid_words के अंत में i डालें
  • वैध_शब्दों में न्यूनतम लंबाई का शब्द लौटाएं

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

उदाहरण

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. कैसे जांचें कि कोई दिया गया शब्द पायथन कीवर्ड है या नहीं?

    इस प्रोग्राम में हम चेक करेंगे कि दिया गया वर्ड पाइथॉन कीवर्ड है या नहीं। ऐसा करने के लिए, हम कीवर्ड लाइब्रेरी से फ़ंक्शन iskeyword() का उपयोग करेंगे। एल्गोरिदम Step 1: Import keyboard. Step 2: Check if the given string is a keyword or not. उदाहरण कोड import keyword words = ["city", "

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

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

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

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