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

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


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

उदाहरण के लिए, यदि इनपुट words = ["lii", "limit", "limi", "li", "coffee", "jug", "pool", "type"] s = "limit" है, तो आउटपुट 4 होगा, क्योंकि हम श्रृंखला बना सकते हैं, "limit" शब्द से शुरू करके, "limit" -> "limi" -> "lii" -> "li"।

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

  • एक फ़ंक्शन solve() परिभाषित करें। यह words, s लेगा
  • max_num := 0
  • words में प्रत्येक i के लिए, करें
    • यदि i s के समान है, तो
      • j को 0 से s के आकार तक रेंज में, करें
        • max_num := 1 + solve(words, s[इंडेक्स 0 से j-1 तक] concatenate 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

  1. पायथन में n-ary ट्री में सबसे लंबे पथ की लंबाई खोजने का प्रोग्राम पायथन में n-ary ट्री में सबसे लंबे पथ की लंबाई खोजने का प्रोग्राम

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