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

पायथन में लगातार समान बिट्स को हटाने के लिए संचालन की गणना करने का कार्यक्रम

मान लीजिए कि हमारे पास एक बाइनरी स्ट्रिंग है, अब हम एक ऑपरेशन पर विचार करते हैं जहां हम एक बिट का चयन करते हैं और इसके मान को 0 से 1 या इसके विपरीत फ्लिप करते हैं। हमें एक स्ट्रिंग प्राप्त करने के लिए आवश्यक न्यूनतम संख्या में संचालन की आवश्यकता है जिसमें तीन समान लगातार बिट्स न हों।

इसलिए, यदि इनपुट s ="10011100" जैसा है, तो आउटपुट 1 होगा, क्योंकि हम स्ट्रिंग को "10010100" बनाने के लिए इंडेक्स 4 पर 1 से 0 बिट फ्लिप कर सकते हैं, लगातार तीन समान बिट्स नहीं हैं।

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

  • l :=0, गिनती :=0
  • जबकि l
  • r :=l
  • जबकि r
  • r :=r + 1
  • गिनती :=गिनती + मंजिल ((r - l) / 3)
  • l :=r
  • वापसी की संख्या
  • उदाहरण

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

    def solve(s):
       l = 0
       count = 0
       while l < len(s):
          r = l
          while r < len(s) and s[r] == s[l]:
             r += 1
          count += (r - l) // 3
          l = r
       return count
    
    s = "10011100"
    print(solve(s))

    इनपुट

    "10011100"
    

    आउटपुट

    1

    1. लगातार 1 के बिना बाइनरी स्ट्रिंग्स की संख्या गिनने के लिए पायथन प्रोग्राम

      इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक धनात्मक पूर्णांक N दिया गया है, हमें लंबाई N के साथ उपलब्ध सभी संभावित भिन्न बाइनरी स्ट्रिंग्स को गिनने की आवश्यकता है ताकि स्ट्रिंग में कोई क्रमागत 1 मौजूद न हो। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देख

    1. एक सरणी में व्युत्क्रमों की गणना करने के लिए पायथन कार्यक्रम

      इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें आवश्यक व्युत्क्रम की गणना करने और उसे प्रदर्शित करने की आवश्यकता है। सरणी को क्रमबद्ध करने के लिए कितने चरणों की आवश्यकता है, इसकी गणना करके उलटा गणना प्राप्त की जाती है। आइए अब नीचे दिए

    1. एक संख्या में कुल बिट्स गिनने के लिए एक पायथन प्रोग्राम लिखें?

      पहले हम एक नंबर इनपुट करते हैं फिर इस नंबर को बिन () फ़ंक्शन का उपयोग करके बाइनरी में परिवर्तित करते हैं और फिर आउटपुट स्ट्रिंग के पहले दो अक्षर 0b को हटाते हैं, फिर बाइनरी स्ट्रिंग की लंबाई की गणना करते हैं। उदाहरण Input:200 Output:8 स्पष्टीकरण Binary representation of 200 is 10010000 एल्गोरिद