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

पायथन में दिए गए स्ट्रिंग में न्यूनतम संख्या में स्वैप के साथ 1s को समूहित करने का कार्यक्रम

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

तो, अगर इनपुट input_str =10110101 जैसा है, तो आउटपुट 4

. होगा

स्वैप निम्नलिखित की तरह होगा -

10110101->01110101->01111001->01111010->01111100

स्वैप की कुल संख्या:4.

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

  • एक :=एक नई सूची जिसमें input_str में स्थितियां हैं जहां 1s स्थित हैं
  • मध्य :=का न्यूनतम मान (एक / 2 का आकार)
  • res :=0
  • मैं के लिए 0 से एक के आकार की सीमा में, करते हैं
    • res :=res + |one[mid] - one[i]| - |मध्य - मैं|
  • यदि रेस <0, तो
    • वापसी 0
  • अन्यथा,
    • रिटर्न रेस

उदाहरण

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

def solve(input_string):
   one = [i for i in range(len(input_string)) if input_string[i] == "1"]
   mid = len(one) // 2
   res = 0
   for i in range(len(one)):
      res += abs(one[mid] - one[i]) - abs(mid - i)
   return 0 if res < 0 else res

print(solve('10110101'))

इनपुट

'10110101'

आउटपुट

4

  1. पायथन प्रोग्राम यह जाँचने के लिए कि क्या दी गई स्ट्रिंग स्वर है पालिंड्रोम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें स्ट्रिंग (स्वर और व्यंजन दोनों अक्षरों से युक्त) दी गई है, सभी व्यंजनों को हटा दें, फिर जांचें कि परिणामी स्ट्रिंग एक पैलिंड्रोम है या नहीं। यहां हम सबसे पहले स्ट्रिंग में मौजूद सभी व्यंजनों को हटाते हैं। प्रत्य

  1. दिए गए रेंज में विषम कारकों वाले तत्वों की संख्या के लिए पायथन प्रोग्राम

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

  1. पायथन प्रोग्राम यह जाँचने के लिए कि क्या दिया गया स्ट्रिंग पैंग्राम है

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