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

पायथन का उपयोग करके सरणी को समान बनाने के लिए न्यूनतम संचालन खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक मान n है, n तत्वों के साथ एक सरणी संख्या पर विचार करें, जहां arr[i] =(2*i)+1 सभी i के लिए। अब एक ऑपरेशन में, हम दो इंडेक्स x और y चुन सकते हैं जहां 0 <=x, y

इसलिए, यदि इनपुट n =4 जैसा है, तो आउटपुट 4 होगा क्योंकि n सरणी [1,3,5,7] है, अब पहले ऑपरेशन के बाद हम [2,3,5,6] जैसे सरणी बना सकते हैं ], दूसरे ऑपरेशन के बाद हम [3,3,5,5] बना सकते हैं, फिर तीसरे के बाद [4,3,4,5] और अंत में [4,4,4,4]। तो अब सब बराबर हैं।

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

  • उत्तर:=0

  • अगर n 1 के समान है, तो

    • वापसी उत्तर

  • q:=भागफल (n/2) -1

  • जे:=1

  • जबकि q>=0, करें

    • उत्तर:=उत्तर + (एन-जे)

    • क्यू:=क्यू - 1

    • जे:=जे + 2

  • वापसी उत्तर

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

उदाहरण

def solve(n):
   ans=0
   if n==1:
      return ans
   q=(n//2)-1
   j=1
   while q>=0:
      ans=ans+(n-j)
      q-=1
      j+=2
   return ans
n = 4
print(solve(n))

इनपुट

4

आउटपुट

4

  1. पायथन का उपयोग करके बाइनरी ग्रिड की व्यवस्था करने के लिए न्यूनतम स्वैप खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक n x n बाइनरी मैट्रिक्स है। हम इस पर एक ऑपरेशन कर सकते हैं जैसे, एक चरण में हम दो आसन्न पंक्तियों का चयन करते हैं और उन्हें स्वैप करते हैं। हमें आवश्यक न्यूनतम स्वैप की संख्या गिननी होगी, ताकि मैट्रिक्स के प्रमुख विकर्ण के ऊपर सभी नोड्स 0 हों। यदि ऐसा कोई समाधान नहीं है, तो

  1. पायथन में एक नंबर से दूसरे नंबर बनाने के लिए आवश्यक न्यूनतम संख्या में संचालन खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक नंबर स्टार्ट है और दूसरा नंबर एंड (स्टार्ट <एंड) है, हमें इन ऑपरेशंस का उपयोग करके स्टार्ट टू एंड को कन्वर्ट करने के लिए आवश्यक ऑपरेशंस की न्यूनतम संख्या ज्ञात करनी होगी - 1 से वृद्धि 2 से गुणा करें इसलिए, यदि इनपुट प्रारंभ =5, अंत =11 जैसा है, तो आउटपुट 2 होगा, क्योंकि

  1. पायथन में एक स्ट्रिंग सबस्ट्रिंग बनाने के लिए आवश्यक न्यूनतम संख्या में संचालन खोजने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास दो तार s और t हैं, हमें t को s का विकल्प बनाने के लिए s के लिए आवश्यक न्यूनतम संक्रियाएँ ज्ञात करनी होंगी। अब, प्रत्येक ऑपरेशन में, हम s में कोई भी स्थिति चुन सकते हैं और उस स्थिति के वर्ण को किसी अन्य वर्ण में बदल सकते हैं। इसलिए, यदि इनपुट s =abbpqr, t =bbxy जैसा है, तो आउट