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

पायथन का उपयोग करके बाइनरी स्ट्रिंग का उपयोग करके बल्ब स्विचर बनाने का कार्यक्रम

मान लीजिए कि हमारे पास एक कमरे में n बल्ब हैं, इन बल्बों की संख्या 0 से n-1 तक है। हमें उन्हें बाएँ से दाएँ एक पंक्ति में व्यवस्थित करना है। प्रारंभ में, सभी बल्ब बंद कर दिए जाते हैं (0-राज्य)। हमें दिए गए लक्ष्य सरणी 't' द्वारा दर्शाए गए कॉन्फ़िगरेशन को प्राप्त करना होगा जहां t[i] '1' है यदि ith बल्ब चालू है और यदि यह बंद है तो '0'। हमारे पास बल्ब की स्थिति को फ्लिप करने के लिए एक स्विच भी है। और फ़्लिपिंग ऑपरेशन को इस प्रकार परिभाषित किया गया है -

  • कोई भी बल्ब इंडेक्स चुनें i.

  • प्रत्येक बल्ब को अनुक्रमणिका i से अनुक्रमणिका n - 1. पर फ़्लिप करें।

हमें लक्ष्य बनाने के लिए आवश्यक फ़्लिप की न्यूनतम संख्या ज्ञात करनी होगी।

इसलिए, यदि इनपुट t ="0101" जैसा है, तो आउटपुट 3 होगा, यदि हम दूसरे बल्ब से शुरू करते हैं, तो अगला कॉन्फ़िगरेशन "0111" होगा, फिर तीसरे से, यह "0100" होगा, फिर अंतिम फ्लिप करें इसे "0101" बनाने के लिए बल्ब

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

  • गिनती :=0

  • एक्स:='0'

  • प्रत्येक के लिए मैं टी में, करो

    • अगर मैं x के समान नहीं हूं, तो

      • गिनती :=गिनती + 1

      • एक्स:=मैं

  • वापसी की संख्या

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

उदाहरण

def solve(t):
   count = 0
   x = '0'
   for i in t:
      if i != x:
         count += 1
         x = i
   return count
t = "0101"
print(solve(t))

इनपुट

"0101"

आउटपुट

3

  1. पायथन का उपयोग करके एक गलत बाइनरी ट्री को ठीक करने का कार्यक्रम

    मान लीजिए, हमें एक बाइनरी ट्री दिया गया है जिसमें कोई समस्या है; नोड के दाहिने चाइल्ड पॉइंटर में से एक बाइनरी ट्री में समान स्तर पर दूसरे नोड को गलत तरीके से इंगित करता है। इसलिए, इस समस्या को ठीक करने के लिए, हमें उस नोड का पता लगाना होगा जिसमें यह त्रुटि है और उस नोड और उसके वंशज को उस नोड को छोड़

  1. जांचें कि क्या पायथन में डीएफए का उपयोग करके बाइनरी स्ट्रिंग मल्टीपल 3 का है

    मान लीजिए कि हमारे पास एक सरणी n है जो किसी भी संख्या के द्विआधारी प्रतिनिधित्व का प्रतिनिधित्व करती है। हमें यह जांचना है कि नियतात्मक परिमित ऑटोमेटा डीएफए का उपयोग करके इसका द्विआधारी प्रतिनिधित्व तीन से विभाज्य है या नहीं। इसलिए, यदि इनपुट n =[1, 1, 0, 0] (12 का बाइनरी) जैसा है, तो आउटपुट ट्रू ह

  1. % का उपयोग करके पायथन में स्ट्रिंग स्वरूपण?

    पायथन में, विभिन्न तरीकों का उपयोग करके एक स्ट्रिंग को प्रारूपित किया जा सकता है, जैसे - % का उपयोग करना {}का उपयोग करना टेम्पलेट स्ट्रिंग का उपयोग करना और हम इस खंड में % स्ट्रिंग स्वरूपण विकल्प पर चर्चा करने जा रहे हैं। स्ट्रिंग स्वरूपण दो स्वादों में आता है- स्ट्रिंग स्वरूपण अभिव्यक्ति:C प्र