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

पायथन में पैलिंड्रोम को विभाजित करने के कई तरीकों को खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक स्ट्रिंग है, हमें स्ट्रिंग को विभाजित करने के तरीकों की संख्या का पता लगाना होगा जैसे कि प्रत्येक भाग एक पैलिंड्रोम हो।

इसलिए, यदि इनपुट s ="xyyx" जैसा है, तो आउटपुट 3 होगा, क्योंकि हमारे पास विभाजन हैं:["x", "yy", "x"], ["x", "y", " y", "x"], ["xyyx"]।

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

  • n :=आकार का
  • तालिका:=आकार n + 1 की एक सूची और इसे 0 से भरें
  • तालिका[0] :=1
  • मैं के लिए 0 से n की सीमा में, करते हैं
    • जे के लिए 0 से i-1 की श्रेणी में, करें
      • उप:=s[सूचकांक j से i तक]
      • यदि उप पैलिंड्रोम है, तो
        • टेबल[i] :=टेबल[i] + टेबल[j]
  • तालिका का अंतिम तत्व लौटाएं

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

उदाहरण

class Solution:
   def solve(self, s):
      n = len(s)
      table = [1] + [0] * n
      for i in range(n + 1):
         for j in range(i):
            sub = s[j:i]
            if sub == sub[::-1]:
               table[i] += table[j]
      return table[-1]

ob = Solution()
s = "xyyx"
print(ob.solve(s))

इनपुट

"xyyx"

आउटपुट

3

  1. पायथन में एक संदेश को डिकोड करने के कई तरीकों को खोजने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास ए =1, बी =2, ... जेड =26 जैसी मैपिंग है, और हमारे पास एक एन्कोडेड संदेश संदेश स्ट्रिंग है, हमें इसे डिकोड करने के तरीकों की संख्या गिननी होगी। इसलिए, यदि इनपुट संदेश =222 जैसा है, तो आउटपुट 3 होगा, क्योंकि इसे 3 तरीकों से डिकोड किया जा सकता है:बीबीबी, बीवी, और वीबी। इसे हल क

  1. पायथन में हम जितने सिक्के एकत्र कर सकते हैं, उन्हें खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक 2D मैट्रिक्स है जहां प्रत्येक सेल कुछ सिक्के संग्रहीत करता है। अगर हम [0,0] से शुरू करते हैं, और केवल दाएं या नीचे जा सकते हैं, तो हमें नीचे दाएं कोने से अधिकतम सिक्कों की संख्या का पता लगाना होगा। तो, अगर इनपुट पसंद है 1 4 2 2 0 0 0 5 तब आउटपुट 14 होग

  1. प्रोग्राम यह पता लगाने के लिए कि हम कितने तरीकों से पायथन में सीढ़ियाँ चढ़ सकते हैं

    मान लीजिए कि हमारे पास n सीढ़ियां हैं, और हम एक बार में 1 या 2 सीढ़ियां चढ़ सकते हैं। हमें एक फ़ंक्शन को परिभाषित करना होगा जो सीढ़ियों पर चढ़ने के अनूठे तरीकों की संख्या लौटाता है। चरणों का क्रम नहीं बदला जाना चाहिए, इसलिए चरणों के प्रत्येक भिन्न क्रम को एक तरीके के रूप में गिना जाता है। यदि उत्तर