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

पायथन का उपयोग करके हम अधिकतम संख्या में सिक्के प्राप्त करने का कार्यक्रम प्राप्त कर सकते हैं

मान लीजिए कि 3*n सिक्कों के ढेर मौजूद हैं, और वे अलग-अलग आकार के हैं, तीन खिलाड़ी जैसे खेल खेल रहे हैं -

  • प्रत्येक चरण में, खिलाड़ी1 सिक्कों के किसी भी 3 ढेर का चयन करेगा।

  • अपनी पसंद में से, प्लेयर2 सिक्कों की अधिकतम संख्या के साथ ढेर को चुनेगा।

  • प्लेयर1 अगले ढेर को अधिकतम सिक्कों के साथ चुनेगा।

  • प्लेयर3 आखिरी ढेर को चुनेगा।

  • इन चरणों को तब तक दोहराएं जब तक कि सिक्कों का ढेर न रह जाए।

अब यदि हमारे पास पाइल्स नामक पूर्णांकों की एक सरणी है, जहां पाइल्स [i] ith पाइल में सिक्कों की संख्या है, तो हमें प्लेयर1 के अधिकतम सिक्कों की संख्या ज्ञात करनी होगी।

इसलिए, यदि इनपुट पाइल्स की तरह है =[2,4,1,2,7,8], तो आउटपुट 9 होगा क्योंकि पहले हम एक ट्रिपलेट (2,7,8) का चयन कर सकते हैं, फिर प्लेयर2 8 का चयन करता है, प्लेयर 1 7 का चयन करता है और 2 प्लेयर 3 के लिए है। फिर फिर से ट्रिपलेट (1,2,4) का चयन करें, फिर प्लेयर 2 सिक्का 4 के साथ ढेर का चयन करता है, फिर प्लेयर 1 प्लेयर 3 के लिए 2 और शेष 1 का चयन करता है। वर्तमान में प्लेयर1 में 7+2 =9 सिक्के हैं, यह अधिकतम है।

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

  • सूची ढेर को क्रमबद्ध करें

  • उत्तर :=0

  • जबकि बवासीर का आकार 0 के समान नहीं है, करें

    • उत्तर :=उत्तर + पाइल्स से दूसरा अंतिम तत्व

    • पाइल्स से दूसरा अंतिम तत्व हटाएं

    • पाइल्स से अंतिम तत्व हटाएं

    • पाइल्स से पहला एलिमेंट डिलीट करें

  • वापसी उत्तर

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

उदाहरण

def solve(piles):
   piles.sort()
   ans = 0
   while(len(piles)!=0):
      ans = ans + piles[-2]
      del piles[-2]
      del piles[-1]
      del piles[0]
   return ans
piles = [2,4,1,2,7,8]
print(solve(piles))

इनपुट

[2,4,1,2,7,8]

आउटपुट

9

  1. पायथन में भारतीय संप्रदायों का उपयोग करके n R.s प्राप्त करने के कई तरीकों को खोजने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास सीमित मूल्यवर्ग के सिक्के हैं (₹1, ₹2, ₹5 और ₹10)। हमें यह पता लगाना है कि आप उन्हें कितने तरीकों से कुल ₹n तक जोड़ सकते हैं? हमारे पास आकार 4 की एक सरणी संख्या है, जहां गिनती [0] ₹1 के सिक्कों को इंगित करती है, गिनती [1] ₹2 के सिक्कों को इंगित करती है और इसी तरह। इसलिए, यदि

  1. पायथन में अलग-अलग नोड्स का उपयोग करके संभावित बीएसटी की संख्या का पता लगाने के लिए कार्यक्रम तैयार किया जा सकता है

    मान लीजिए कि हमारे पास एक संख्या n है। यदि हमारे पास [1,2,...,n] जैसी संख्याएँ हैं, तो हमें इन n मानों का उपयोग करके संभावित BST की संख्या को गिनना होगा। अगर उत्तर बहुत बड़ा है, तो परिणाम को 10^9+7 से संशोधित करें। इसलिए, यदि इनपुट n =3 जैसा है, तो आउटपुट 14 होगा, इसे हल करने के लिए, हम इन चरणों

  1. पायथन प्रोग्राम मैप फ़ंक्शन का उपयोग करके एक पंक्ति को अधिकतम 1's . के साथ खोजने के लिए

    2D सरणी दी गई है और सरणियों के तत्व 0 और 1 हैं। सभी पंक्तियों को क्रमबद्ध किया गया है। हमें 1 की अधिकतम संख्या वाली पंक्ति ढूंढनी है। यहां हम मानचित्र () का उपयोग करते हैं। मानचित्र फ़ंक्शन कार्यात्मक प्रोग्रामिंग के लिए उपयोग किए जाने वाले पायथन बिल्ट-इन्स में सबसे सरल है। ये उपकरण अनुक्रमों और अन्