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

Python प्रोग्राम - बाइनरी स्ट्रिंग में सभी 1 वाले सबस्ट्रिंग की गिनती

एक बाइनरी स्ट्रिंग s दी गई है। हमें उन सबस्ट्रिंग की संख्या खोजनी है जिनमें केवल "1" हों। यदि उत्तर बहुत बड़ा है, तो परिणाम को 10^9+7 से मोड करें।

उदाहरण

इनपुट: s = "100111"

आउटपुट: 7

व्याख्या: केवल "1" वाले सबस्ट्रिंग हैं ["1", "1", "1", "1", "11", "11", "111"]।

एल्गोरिदम

  1. a := 0 (वर्तमान लगातार 1 की लंबाई)
  2. count := 0
  3. i 0 से len(s) - 1 तक:
    • यदि s[i] == "0": a := 0
    • अन्यथा:
      • a := a + 1
      • count := count + a
  4. count लौटाएं

Python कार्यान्वयन

def solve(s):
    a = 0
    count = 0
    for i in range(len(s)):
        if s[i] == "0":
            a = 0
        else:
            a += 1
            count += a
    return count

s = "100111"
print(solve(s))  # आउटपुट: 7

इनपुट/आउटपुट

Input: "100111"
Output: 7

व्याख्या: जब हम लगातार 1 देखते हैं, तो प्रत्येक नया 1 पिछले सभी सबस्ट्रिंग को बढ़ाता है और एक नया सबस्ट्रिंग बनाता है। इसलिए काउंट में वर्तमान लंबाई a जोड़ते हैं।

  1. - Python प्रोग्राम - स्ट्रिंग में विशिष्ट सबस्ट्रिंग की संख्या गिनें

    एक स्ट्रिंग s दी गई है, हमें s के विशिष्ट गैर-खाली सबस्ट्रिंग की संख्या खोजनी है। उदाहरण इनपुट: s = abaa आउटपुट: 8 व्याख्या: सबस्ट्रिंग हैं [a, b, ab, ba, aa, aba, baa, abaa]। एल्गोरिदम (ट्राई/प्रीफिक्स ट्री) trie := {} (खाली डिक्शनरी) n := len(s) i 0 से n-1 तक: curr := trie j i से n-1

  1. पायथन में ऐरे में x से बड़े सभी वैल्यूज को फ़िल्टर करने का प्रोग्राम पायथन में ऐरे में x से बड़े सभी वैल्यूज को फ़िल्टर करने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की सूची है। हमारे पास x नामक एक और संख्या भी है। हमें nums से उन सभी नंबरों को फ़िल्टर करके ढूंढना है जो x से कम हैं। पायथन में filter() मेथड होता है जो फंक्शन को आर्गुमेंट के रूप में लेता है और इस फंक्शन का उपयोग करके फ़िल्टर करता है। तो, यदि इनपुट nums = [1,5

  1. पायथन में दिए गए इंडेक्स के साथ स्ट्रिंग को शफल करने का प्रोग्राम पायथन में दिए गए इंडेक्स के साथ स्ट्रिंग को शफल करने का प्रोग्राम

    मान लीजिए हमारे पास एक स्ट्रिंग s और इंडेक्स की एक सूची ind है, वे समान लंबाई के हैं। स्ट्रिंग s को इस तरह शफल किया जाएगा कि स्थिति i पर मौजूद वर्ण, फाइनल स्ट्रिंग में indices[i] पर चला जाए। हमें फाइनल स्ट्रिंग ढूंढनी है। उदाहरण के लिए, यदि इनपुट s = ktoalak, ind = [0,5,1,6,2,4,3] है, तो आउटपुट kolk