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

पायथन में सबसे लंबी घटती शब्द श्रृंखला की लंबाई खोजने का कार्यक्रम?

मान लीजिए कि हमारे पास मान्य शब्दों की एक सूची है, और एक स्ट्रिंग s भी है, तो हमें घटते शब्दों की सबसे लंबी श्रृंखला की लंबाई का पता लगाना होगा जो कि s से शुरू करके और एकल अक्षरों को हटाकर और फिर भी मान्य शब्द बनाकर उत्पन्न किया जा सकता है।

इसलिए, यदि इनपुट शब्द =["lii", "सीमा", "लिमी", "ली", "कॉफी", "जुग", "पूल", "टाइप"] s ="सीमा" जैसा है, तो आउटपुट 4 होगा, जैसा कि हम "लिमिट", "लिमिट" -> "लिमी" -> "लिआई" -> "ली" शब्द से शुरू करके चेन बना सकते हैं।

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

  • फ़ंक्शन को हल करें () परिभाषित करें। यह शब्द लेगा, s

  • max_num :=0

  • प्रत्येक के लिए i शब्दों में, करें

    • अगर मैं एस के समान हूं, तो

      • j के लिए 0 से लेकर s के आकार तक, करें

        • max_num :=अधिकतम 1 + हल करें (शब्द, s [सूचकांक 0 से j-1 तक] संयोजित s [सूचकांक j + 1 से अंत तक]) और max_num

  • वापसी max_num


उदाहरण

class Solution:
   def solve(self, words, s):
      max_num = 0
      for i in words:
         if i == s:
            for j in range(len(s)):
               max_num = max(1 + self.solve(words, s[:j] + s[j + 1 :]), max_num)
      return max_num

ob = Solution()
words = ["lii", "limit", "limi", "li", "coffee", "jug", "pool", "type"]
s = "limit"
print(ob.solve(words, s))

इनपुट

["lii", "limit", "limi", "li", "coffee", "jug", "pool", "type"],"limit"

आउटपुट

4

  1. पायथन में सबसे लंबी मैट्रिक्स पथ लंबाई की लंबाई खोजने का कार्यक्रम

    मान लीजिए हमारे पास एक बाइनरी मैट्रिक्स है, जहां 0 खाली सेल को इंगित करता है और 1 दीवार को इंगित करता है। हम पहली पंक्ति पर किसी भी खाली सेल से शुरू कर सकते हैं और अंतिम पंक्ति पर किसी भी खाली सेल पर समाप्त करना चाहते हैं। हम बाएँ, दाएँ या नीचे जा सकते हैं, हमें सबसे लंबा ऐसा रास्ता खोजना होगा जहाँ

  1. पायथन में सबसे लंबे समय तक लगातार बढ़ते सबस्ट्रिंग की लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक लोअरकेस स्ट्रिंग s है। इसमें अंग्रेजी अक्षर के साथ-साथ ? प्रतीक। प्रत्येक के लिए ? हमें या तो इसे हटाना होगा या इसे किसी छोटे अक्षर से बदलना होगा। हमें अक्षर a से शुरू होने वाले सबसे लंबे क्रमागत रूप से बढ़ते हुए सबस्ट्रिंग की लंबाई ज्ञात करनी होगी। इसलिए, यदि इनपुट s =vta

  1. पायथन में एक एन-आरी पेड़ में सबसे लंबे पथ की लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक किनारे की सूची है जहां प्रत्येक आइटम धारण कर रहा है (यू, वी) दर्शाता है कि आप वी के माता-पिता हैं। हमें पेड़ में सबसे लंबे पथ की लंबाई का पता लगाना है। पथ की लंबाई उस पथ में 1 + नोड्स की संख्या है। तो, अगर इनपुट पसंद है तो आउटपुट 5 होगा, क्योंकि पथ [1, 4, 5, 7] है, कुल