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

पायथन में जांचें कि क्या 'a' का हर समूह समान लंबाई के 'b' के समूह द्वारा अनुसरण किया जाता है


मान लीजिए हमारे पास केवल दो वर्णों a और b वाली एक लोअरकेस स्ट्रिंग s है। हमें जांचना है कि क्या लगातार a का हर समूह समान लंबाई के लगातार b के समूह द्वारा अनुसरण किया जाता है।

इसलिए, यदि इनपुट s = "abaaabbbaabbaabbab" है, तो आउटपुट True होगा, क्योंकि सभी समूह हैं (ab), (aaabbb), (aabb), (aabb), (ab)।

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

  • a_count := 0, string_len := s का आकार
  • i := 0
  • जब i < string_len हो, तब तक करें
    • जब i < string_len और s[i] 'a' हो, तब तक करें
      • a_count := a_count + 1
      • i := i + 1
    • जब i < string_len और s[i] 'b' हो, तब तक करें
      • a_count := a_count - 1
      • i := i + 1
    • यदि a_count 0 नहीं है, तो
      • False लौटाएं
  • True लौटाएं

उदाहरण

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

def solve(s):
    a_count = 0
    string_len = len(s)
    i = 0
    while i < string_len:
        while i < string_len and s[i] == 'a':
            a_count += 1
            i += 1
        while i < string_len and s[i] == 'b':
            a_count -= 1
            i += 1
        if a_count != 0:
            return False
    return True
s = "abaaabbbaabbaabbab"
print(solve(s))

इनपुट

"abaaabbbaabbaabbab"

आउटपुट

True

  1. पायथन में एज लेंथ लिमिटेड पथ के अस्तित्व की जांच करने का प्रोग्राम पायथन में एज लेंथ लिमिटेड पथ के अस्तित्व की जांच करने का प्रोग्राम

    मान लीजिए हमारे पास एक अनडायरेक्टेड वेटेड ग्राफ है जिसमें n नोड्स हैं, edgeList का उपयोग करके, जहां edgeList[i] में तीन पैरामीटर (u, v, w) हैं जो दर्शाते हैं कि u से v तक एक पथ है जिसकी दूरी w है। हमारे पास एक और क्वेरी ऐरे है जहां query[i] में (p, q, lim) है। यह क्वेरी पूछ रही है कि क्या p से q तक

  1. Python में दो बाइनरी ट्री के लीफ ट्रैवर्सल के समान होने की जांच कैसे करें? Python में दो बाइनरी ट्री के लीफ ट्रैवर्सल के समान होने की जांच कैसे करें?

    मान लीजिए हमारे पास दो बाइनरी ट्री हैं। हमें यह जांचना है कि इन दो ट्री का लीफ ट्रैवर्सल समान है या नहीं। जैसा कि हम जानते हैं, लीफ ट्रैवर्सल बाएं से दाएं पार किए गए पत्तियों का अनुक्रम है। तो, यदि इनपुट है तो आउटपुट True होगा क्योंकि दोनों ट्री का बायां ट्रैवर्सल अनुक्रम समान है, जो [5, 7, 8] है।

  1. - पायथन - जांचें कि लिस्ट में सभी तत्व समान हैं या नहीं

    कभी-कभी हमें यह जांचने की आवश्यकता होती है कि क्या लिस्ट में एक ही मान सभी तत्वों के रूप में दोहराया गया है। हम नीचे दिए गए पायथन प्रोग्राम का उपयोग करके ऐसे परिदृश्य की जांच कर सकते हैं। अलग-अलग दृष्टिकोण हैं। for लूप का उपयोग इस विधि में हम लिस्ट से पहला तत्व लेते हैं और पारंपरिक for लूप का उपयोग