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

किसी दिए गए स्ट्रिंग के सभी पैलिंड्रोमिक उप-स्ट्रिंग खोजें - पायथन में 2 सेट करें

मान लीजिए हमारे पास एक स्ट्रिंग है; हमें उस स्ट्रिंग से सभी पैलिंड्रोमिक सब-स्ट्रिंग्स को ढूंढना है। यहां आ और आ को दो उप-स्ट्रिंग माना जाता है, एक नहीं।

इसलिए, यदि इनपुट रिडिवाइडर की तरह है, तो आउटपुट ['r', 'e', ​​'d', 'i', 'v', 'ivi', 'divid', 'edivide', 'redivider' होगा। , 'i', 'd', 'e', ​​'r']

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

  • v :=एक नई सूची
  • स्थिति:=0.0
  • जबकि स्थिति
  • rad :=pos - (पूर्णांक के रूप में स्थिति)
  • जबकि (pos + rad) =0 और (s [(pos - rad) का पूर्णांक] s [(pos + rad) का पूर्णांक] के समान है), करते हैं
    • v के अंत में s[(pos - rad) के सूचकांक पूर्णांक से (pos + rad + 1)] के पूर्णांक में डालें
    • रेड:=रेड + 1
  • स्थिति:=स्थिति + 0.5
  • वापसी वी
  • उदाहरण कोड

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

    def get_all_pal_sub(s):
       v = []
       pos = 0.0
       while pos < len(s):
          rad = pos - int(pos)
          while ((pos + rad) < len(s) and (pos - rad) >= 0 and (s[int(pos - rad)] == s[int(pos + rad)])):
             v.append(s[int(pos - rad): int(pos + rad + 1)])
             rad += 1
          pos += 0.5
       return v
    v = get_all_pal_sub("redivider")
    print(len(v))
    print(v)

    इनपुट

    "redivider"

    आउटपुट

    13 ['r', 'e', 'd', 'i', 'v', 'ivi', 'divid', 'edivide', 'redivider', 'i', 'd', 'e', 'r']

    1. किसी दिए गए स्ट्रिंग के सभी क्रमपरिवर्तन मुद्रित करने के लिए पायथन प्रोग्राम

      इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक स्ट्रिंग दी गई है जिसकी हमें स्ट्रिंग के सभी संभावित क्रमपरिवर्तन प्रदर्शित करने की आवश्यकता है। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # conversion def toString(List):    return &

    1. पायथन रेगेक्स का उपयोग करके किसी दिए गए स्ट्रिंग में 10+1 के सभी पैटर्न खोजें

      हमें दिए गए स्ट्रिंग में रेगेक्स पैटर्न 10+1 खोजने की जरूरत है। इसके लिए हम पायथन में उपलब्ध री मॉड्यूल का उपयोग कर सकते हैं। इस पैकेज में फाइंड ऑल नामक एक विधि है जो रेगेक्स को स्वीकार करती है और जिस स्ट्रिंग को हम खोजना चाहते हैं। यह हमें उस स्ट्रिंग में पैटर्न की सभी घटनाओं को देता है। उदाहरण के

    1. पायथन में किसी दिए गए स्ट्रिंग के सभी संभावित क्रमपरिवर्तन कैसे खोजें?

      किसी दिए गए स्ट्रिंग के सभी संभावित क्रमपरिवर्तनों को खोजने के लिए, आप itertools मॉड्यूल का उपयोग कर सकते हैं जिसमें एक उपयोगी विधि है जिसे क्रमपरिवर्तन (iterable[, r]) कहा जाता है। यह विधि टुपल्स के रूप में चलने योग्य तत्वों के क्रमिक r लंबाई क्रमपरिवर्तन लौटाती है। स्ट्रिंग के रूप में सभी क्रमपरि