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

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


मान लीजिए हमारे पास एक बाइनरी स्ट्रिंग है। हम निम्न में से प्रत्येक संचालन किसी भी संख्या में लागू कर सकते हैं:

  • यदि संख्या में उपस्ट्रिंग "00" है, तो हम इसे "10" से बदल सकते हैं।

  • यदि संख्या में उपस्ट्रिंग "10" है, तो हम इसे "01" से बदल सकते हैं।

तब हमें किसी भी संख्या में संचालन के बाद प्राप्त होने वाली अधिकतम बाइनरी (इसके संख्यात्मक मान के आधार पर) स्ट्रिंग ढूंढनी है।

इसलिए, यदि इनपुट है s = "001100", तो आउटपुट 111011 होगा, क्योंकि हम उन्हें इस तरह स्थानांतरित कर सकते हैं: (00)1100 → 101(10)0 → 1010(10) → 10(10)01 → 100(10)1 → 1(00)011 → 111011।

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

  • length := s का आकार
  • zeros := s में 0 की संख्या
  • यदि zeros < 2, तो
    • s वापस करें
  • s := s के बाएं से सभी '1' हटाएं
  • leading_ones := length - s का आकार
  • leading_ones := leading_ones + zeros - 1
  • trailing_ones := length - leading_ones - 1
  • answer_left := leading_ones संख्या में 1
  • answer_right := trailing_ones संख्या में 1
  • answer_left को 0 और answer_right के साथ जोड़कर वापस करें

उदाहरण

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

def solve(s):
    length = len(s)
    zeros = s.count('0')
    if zeros < 2:
        return s
    s = s.lstrip('1')
    leading_ones = length - len(s)
    leading_ones += zeros - 1
    trailing_ones = length - leading_ones - 1
    answer_left = '1' * leading_ones
    answer_right = '1' * trailing_ones
    return ''.join([answer_left, '0', answer_right])

s = "001100"
print(solve(s))

इनपुट

"001100"

आउटपुट

111011
  1. Python में इमारतों की अधिकतम ऊंचाई ज्ञात करें Python में इमारतों की अधिकतम ऊंचाई ज्ञात करें

    n इमारतें एक पंक्ति में (1 से n लेबल)। प्रतिबंध: restrictions[i] = (id, max_height)। नियम: ऊंचाई ≥ 0, पहली इमारत की ऊंचाई = 0, आसन्न इमारतों में ऊंचाई अंतर ≤ 1। अधिकतम संभव ऊंचाई खोजें। एल्गोरिदम: दो पास + शिखर गणना प्रतिबंधों को id द्वारा सॉर्ट करें फॉरवर्ड पास: बाएं से दाएं, प्रत्येक प्रतिबंध को

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

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

  1. - पायथन प्रोग्राम: स्ट्रिंग में मिरर कैरेक्टर्स खोजना

    एक यूजर इनपुट स्ट्रिंग और पोजिशन दी गई है, उस पोजिशन से हमें स्ट्रिंग की लंबाई तक अल्फाबेटिकल ऑर्डर में कैरेक्टर्स को मिरर करना है। इस ऑपरेशन में, हम a को z में, b को y में, c को x में, d को w में बदलते हैं और इसी तरह, यानी पहला कैरेक्टर लास्ट बन जाता है और इसी तरह।Input: p = 3 Input string = python