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

पायथन में डिकोड तरीके


मान लीजिए हमारे पास A से Z तक के अक्षरों वाला एक संदेश है जिसे निम्न मैपिंग का उपयोग करके संख्याओं में एन्कोड किया जा रहा है - 'A' → 1, 'B' → 2 ... 'Z' → 26। इसलिए यदि हमारे पास एक गैर-खाली स्ट्रिंग है, जिसमें केवल अंक हैं, तो हमें यह ढूंढना है कि इसे कितने तरीकों से डिकोड किया जा सकता है। इसलिए यदि स्ट्रिंग "12" है, तो इसे "AB" या "L" से बनाया जा सकता है, तो दो संभावित तरीके हैं। तो उत्तर 2 होगा।

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

  • हम इसे डायनामिक प्रोग्रामिंग का उपयोग करके हल करेंगे।
  • n := s की लंबाई
  • dp := n संख्या के 0 की एक सरणी
  • यदि s[0] '0' नहीं है, तो dp[0] := 1
  • i के लिए 1 से n - 1 तक की रेंज में
    • x := s[i] को पूर्णांक के रूप में, y := इंडेक्स i - 1 से i + 1 तक s के सबस्ट्रिंग को पूर्णांक के रूप में
    • यदि x >= 1 और y <= 9, तो dp[i] := dp[i] + dp[i - 1]
    • यदि y >= 10 और y <= 26
      • यदि i - 2 >= 0, तो dp[i] := dp[i] + dp[i - 2], अन्यथा dp[i] को 1 से बढ़ाएं
  • dp का अंतिम तत्व लौटाएं

उदाहरण (पायथन)

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

class Solution(object):    def numDecodings(self, s):       n = len(s)       dp = [0 for i in range(n)]       if s[0]!='0':          dp[0]=1       for i in range(1,n):          x = int(s[i])          y = int(s[i-1:i+1])          if x>=1 and x<=9:             dp[i]+=dp[i-1]          if y>=10 and y<=26:             if i-2>=0:                dp[i]+=dp[i-2]             else:                dp[i]+=1       return dp[-1] ob1 = Solution() print(ob1.numDecodings("226"))

इनपुट

"226"

आउटपुट

3

  1. - Python में सूची साफ़ करने के विभिन्न तरीके

    Python सूची में सभी तत्वों को साफ़ करना कई तरीकों से किया जा सकता है। नीचे कुछ मेथड हैं जिन्हें इसे प्राप्त करने के लिए लागू किया गया है।clear() का उपयोग करनायह फ़ंक्शन स्टैंडर्ड लाइब्रेरी का हिस्सा है और Python सूची को पूरी तरह से खाली कर देता है।Syntax: list_name.clear() list_name उपयोगकर्ता द्वार

  1. - पायथन में एस्केप वर्ण प्रिंट करने के तरीके

    इस लेख में, हम देखेंगे कि पायथन में एस्केप वर्ण कैसे प्रिंट कर सकते हैं। मुझे लगता है कि आप जानते हैं कि एस्केप वर्ण क्या हैं? आइए देखें कि जो नहीं जानते उनके लिए एस्केप वर्ण क्या हैं? एस्केप वर्ण स्ट्रिंग्स में व्यक्तिगत अर्थ के लिए उपयोग किए जाते हैं। यदि हम स्ट्रिंग्स में नई लाइन, टैब स्पेस आदि

  1. - पायथन में वर्ण बढ़ाने के तरीके

    इस ट्यूटोरियल में, हम पायथन में वर्ण बढ़ाने के विभिन्न तरीके देखने जा रहे हैं। टाइपकास्टिंग आइए पहले देखें कि क्या होता है यदि हम टाइपकास्टिंग के बिना int को char में जोड़ते हैं। उदाहरण ## str आरंभीकरण char = t ## char में 1 जोड़ने का प्रयास char += 1 ## त्रुटि मिलती है यदि आप उपरोक्त प्रोग्राम