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

Python - दी गई स्ट्रिंग के सभी पैलिंड्रोमिक सबस्ट्रिंग्स ढूंढना - सेट 2

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

तो, यदि इनपुट redivider जैसा है, तो आउटपुट ['r', 'e', 'd', 'i', 'v', 'ivi', 'divid', 'edivide', 'redivider', 'i', 'd', 'e', 'r'] होगा।

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

  • v := एक नई लिस्ट
  • pos := 0.0
  • जब pos < s का आकार, करें
    • rad := pos - (pos का इंटीजर भाग)
    • जब (pos + rad) < s का आकार और (pos - rad) >= 0 और (s[pos - rad का इंटीजर] == s[pos + rad का इंटीजर]), करें
      • v के अंत में s[pos - rad के इंटीजर से pos + rad + 1 के इंटीजर तक] इन्सर्ट करें
      • rad := rad + 1
    • pos := pos + 0.5
  • v लौटाएं

उदाहरण कोड

बेहतर समझ के लिए निम्नलिखित इम्प्लीमेंटेशन देखें:

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. पायथन प्रोग्राम: दी गई स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करें पायथन प्रोग्राम: दी गई स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक स्ट्रिंग दी गई है, हमें स्ट्रिंग के सभी संभावित क्रमपरिवर्तन प्रदर्शित करने हैं। उदाहरण # रूपांतरण def toString(List): return .join(List) # क्रमपरिवर्तन def permute(a, l, r): if l == r: print(toString(a))

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

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

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

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