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

पायथन का उपयोग करके केवल 1s के साथ सबस्ट्रिंग की संख्या खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक बाइनरी स्ट्रिंग है। हमें सभी वर्णों के साथ सबस्ट्रिंग की संख्या ज्ञात करनी है। उत्तर बहुत बड़ा हो सकता है इसलिए वापसी परिणाम मोड 10^9 + 7.

इसलिए, यदि इनपुट s ="1011010" जैसा है, तो आउटपुट 5 होगा क्योंकि 1. चार गुना "1" 2. एक बार "11"

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

  • मी :=10^9+7

  • परिणाम:=0

  • div :=बाइनरी स्ट्रिंग को '0' का उपयोग करके विभाजित करके विभाजित करें

  • div में प्रत्येक x के लिए, करें

    • अगर x खाली है, तो अगले पुनरावृत्ति के लिए जाएं

    • परिणाम:=परिणाम + भागफल (x का आकार *(x +1 का आकार))/2

  • वापसी परिणाम मोड एम

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

उदाहरण

def solve(s):
   m = 10**9+7
   result = 0
   for x in s.split('0'):
      if not x: continue
      result += (len(x)*(len(x)+1)) // 2
   return result % m
s = "1011010"
print(solve(s))

इनपुट

"1011010"

आउटपुट

5

  1. पायथन का उपयोग करके समान लेबल वाले उप-वृक्ष में नोड्स की संख्या खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास n नोड्स वाला एक रूटेड सामान्य ट्री है, जिसके नोड्स 0 से n-1 तक गिने जाते हैं। प्रत्येक नोड में लोअरकेस अंग्रेजी अक्षर वाला एक लेबल होता है। लेबल्स को लेबल एरे में इनपुट के रूप में दिया जाता है, जहां लेबल्स [i] में ith नोड के लिए लेबल होता है। पेड़ को किनारे की सूची द्वारा दर्श

  1. पायथन का उपयोग करके अधिकतम संभावना के साथ पथ खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास n नोड्स के साथ एक अप्रत्यक्ष भारित ग्राफ है (नोड्स 0 से आगे गिने जाते हैं), यह ग्राफ एज सूची का उपयोग करके इनपुट के रूप में दिया जाता है, प्रत्येक किनारे ई के लिए, उस किनारे की संभावना [ई] को पार करने की सफलता की संभावना है। हमारे पास प्रारंभ और अंत नोड्स भी हैं, हमें शुरुआत स

  1. पायथन प्रोग्राम मैप फ़ंक्शन का उपयोग करके एक पंक्ति को अधिकतम 1's . के साथ खोजने के लिए

    2D सरणी दी गई है और सरणियों के तत्व 0 और 1 हैं। सभी पंक्तियों को क्रमबद्ध किया गया है। हमें 1 की अधिकतम संख्या वाली पंक्ति ढूंढनी है। यहां हम मानचित्र () का उपयोग करते हैं। मानचित्र फ़ंक्शन कार्यात्मक प्रोग्रामिंग के लिए उपयोग किए जाने वाले पायथन बिल्ट-इन्स में सबसे सरल है। ये उपकरण अनुक्रमों और अन्