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

पायथन में दिए गए स्ट्रिंग में विशिष्ट उपस्ट्रिंग्स की संख्या ज्ञात करने का प्रोग्राम


मान लीजिए, हमें 's' द्वारा दर्शाया गया एक उपस्ट्रिंग दिया गया है। हमें विशिष्ट उपस्ट्रिंग्स ढूंढनी हैं और इन उपस्ट्रिंग्स की संख्या को आउटपुट के रूप में वापस करना है।

इसलिए, यदि इनपुट है s = 'prrstvt', तो आउटपुट 26 होगा।

विशिष्ट उपस्ट्रिंग्स होंगी:

'pr', 'rrs', 'st', 'rr', 'tv', 'rstv', 'stvt', 'prrstv', 'prrstvt', 'rrstvt', 's', 'prrst', 'stv', 'rrstv', 'rst', 'v', 'tvt', 'rstvt', 'r', 'rs', 'vt', 't', 'prr', 'p', 'rrst', और 'prrs'।

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

  • visited := एक नया मैप
  • s में प्रत्येक सूचकांक ind, और मान let के लिए, करें
    • temp := एक नया सेट
    • यदि ind-1 visited में मौजूद है, तो
      • visited[ind-1] में प्रत्येक has_let के लिए, करें
        • (has_let + let) को temp सूची में जोड़ें
    • let को temp सूची में जोड़ें
    • visited[ind] := temp
  • res := एक नया सेट
  • visited में प्रत्येक sets के लिए, करें
    • visited[sets] को res में जोड़ें
  • res का आकार वापस करें

उदाहरण

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

def solve(s):
    visited = dict()
    for ind, let in enumerate(s):
        temp = set()
        if ind-1 in visited:
            for has_let in visited[ind-1]:
                temp.add(has_let+let)
        temp.add(let)
        visited[ind] = temp
    res = set()
    for sets in visited:
        res.update(visited[sets])
    return len(res)

print(solve('prrstvt'))

इनपुट

'prrstvt'

आउटपुट

26
  1. - Python - दी गई स्ट्रिंग के सभी विशिष्ट पैलिंड्रोमिक सबस्ट्रिंग्स ढूंढना

    मान लीजिए हमारे पास लोअरकेस ASCII कैरेक्टर्स वाली एक स्ट्रिंग है, हमें इसके सभी विशिष्ट कंटीन्यूअस पैलिंड्रोमिक सबस्ट्रिंग्स ढूंढने हैं। तो, यदि इनपुट bddaaa जैसा है, तो आउटपुट [a, aa, aaa, b, d, dd] होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: m := एक नया मैप n := s का आकार matrix := n नं

  1. - पायथन प्रोग्राम: जांचें कि दी गई स्ट्रिंग नंबर पालिंड्रोम है या नहीं

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक स्ट्रिंग इनपुट दिए जाने पर, हमें यह जांचने के लिए एक पायथन फंक्शन बनाना होगा कि यह पालिंड्रोम है या नहीं। एक स्ट्रिंग को पालिंड्रोम कहा जाता है यदि स्ट्रिंग का रिवर्स स्ट्रिंग के स

  1. - दी गई संख्या के बाइनरी प्रतिनिधित्व में सबसे लंबे लगातार 1 की लंबाई खोजने का पायथन प्रोग्राम

    समस्या विवरण दी गई संख्या के बाइनरी प्रतिनिधित्व में सबसे लंबे लगातार 1 की लंबाई खोजें। उदाहरण इनपुट: n = 15 आउटपुट: 4 15 का बाइनरी प्रतिनिधित्व 1111 है। एल्गोरिदम संख्या इनपुट करें। एक काउंटर वेरिएबल c=0 का उपयोग करें। i=0 तक पहुंचने के लिए इटरेशन की संख्या गिनें। यह ऑपरेशन 1 के प्रत्येक अनुक्र