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

पायथन में बाइनरी स्ट्रिंग्स को दो भागों में विभाजित करके अधिकतम स्कोर खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक बाइनरी स्ट्रिंग है। अब हम एक ऑपरेशन पर विचार करते हैं, जहां हम स्ट्रिंग को दो गैर-रिक्त सबस्ट्रिंग s1 और s2 में विभाजित करते हैं। इस विभाजन का स्कोर s1 में "0" की गिनती और s2 में "1" की गिनती का योग है। हमें वह अधिकतम अंक प्राप्त करना होगा जो हम प्राप्त कर सकते हैं।

इसलिए, यदि इनपुट s ="011001100111" जैसा है, तो आउटपुट 8 होगा, क्योंकि हम "01100" + "110111" जैसे स्ट्रिंग को विभाजित कर सकते हैं। फिर, स्कोर 3 + 5 =8 है।

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

  • वाले :="1" की संख्या s

  • शून्य :=0

  • उत्तर :=0

  • मैं के लिए 0 से s - 2 के आकार की सीमा में, करें

    • अगर s[i] "0" के समान है, तो

      • शून्य :=शून्य + 1

    • अन्यथा,

      • वाले :=वाले - 1

    • उत्तर:=अधिकतम उत्तर और (एक + शून्य)

  • वापसी उत्तर

उदाहरण

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

def solve(s):
   ones = s.count("1")
   zeros = 0
   ans = 0
   for i in range(len(s) - 1):
      if s[i] == "0":
         zeros += 1
      else:
         ones -= 1
      ans = max(ans, ones + zeros)
   return ans

s = "011001100111"
print(solve(s))

इनपुट

"011001100111"

आउटपुट

8

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

    मान लीजिए कि हमारे पास दो सरणियाँ हैं nums1 और nums2। एक वैध पथ निम्नानुसार परिभाषित किया गया है - पार करने के लिए nums1 या nums2 चुनें (इंडेक्स-0 से)। सरणी को बाएँ से दाएँ पार करें। अब, यदि हम nums1 और nums2 में मौजूद किसी भी मान से आगे बढ़ रहे हैं तो हम पथ को अन्य सरणी में बदल सकते हैं। य

  1. पायथन में एक बाइनरी ट्री की अधिकतम चौड़ाई खोजने का कार्यक्रम

    मान लीजिए हमारे पास एक बाइनरी ट्री है, हमें ट्री में किसी भी स्तर की अधिकतम चौड़ाई ज्ञात करनी है। यहां एक स्तर की चौड़ाई उन नोड्स की संख्या है जो सबसे बाएं नोड और सबसे दाएं नोड के बीच हो सकते हैं। तो, अगर इनपुट . जैसा है तो आउटपुट 2 . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे- न्य

  1. दो स्ट्रिंग्स से असामान्य शब्द खोजने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें दो तार दिए गए हैं, हमें दिए गए तार से असामान्य शब्द निकालने होंगे। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # uncommon words def find(A, B):    # count    count = {}   &n