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

पायथन में फेयर कैंडी स्वैप

मान लीजिए A और B दो मित्र हैं। उनके पास विभिन्न आकारों के कैंडी बार हैं। यहाँ A[i], A के स्वामित्व वाली कैंडी के i-वें बार के आकार का है, और B[j], B के स्वामित्व वाली कैंडी के j-वें बार के आकार का है।

चूंकि वे दोस्त हैं, वे एक-एक कैंडी बार का आदान-प्रदान करना चाहते हैं ताकि विनिमय के बाद, ए और बी दोनों के पास कैंडी की कुल मात्रा समान हो। (एक व्यक्ति के पास कैंडी की कुल मात्रा उनके पास कैंडी बार के आकार का योग है।) हमें एक पूर्णांक सरणी माननी होगी, जहां उत्तर [0] कैंडी बार का आकार है जिसे ए को एक्सचेंज करना चाहिए, और उत्तर [1] कैंडी बार का आकार है जिसे B को एक्सचेंज करना चाहिए। यदि एक से अधिक उत्तर हैं, तो हम उनमें से केवल एक को ही लौटाएंगे।

उदाहरण के लिए, यदि A =[1, 2] और B =[2, 3], तो आउटपुट [1, 2]

होगा।

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

  • A के योग और B के योग के बीच का अंतर लें, फिर इसे 2 से विभाजित करें, और पूर्णांक भाग को भिन्न में लें
  • B को एक सेट में बदलें
  • के लिए मैं ए में
    • यदि i - B में भिन्न है, तो वापस [i, i - diff]

उदाहरण

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

class Solution(object):
   def fairCandySwap(self, A, B):
      diff = (sum(A) - sum(B))//2
      B=set(B)
      for i in A:
         if i- diff in B:
            return [i,i-diff]
ob1 = Solution()
print(ob1.fairCandySwap([1,2], [2,3]))

इनपुट

[1,2]
[2,3]

आउटपुट

[1,2]

  1. issuperset () पायथन में

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे। यह विधि बूलियन ट्रू लौटाती है यदि एक सेट बी के सभी तत्वों में सभी तत्व सेट ए होते हैं जो एक तर्क के रूप में पारित होते हैं और यदि ए के सभी तत्व बी में मौजूद नहीं होते हैं तो झूठा रिटर्न देता है। इस

  1. पायथन का उपयोग करके दो चर कैसे स्वैप करें?

    एक अस्थायी चर का उपयोग करके - >>> x=10 >>> y=20 >>> z=x >>> x=y >>> y=z >>> x,y (20, 10) अस्थायी चर का उपयोग किए बिना >>> a,b=5,7 >>> a,b (5, 7) >>> a,b=b,a >>> a,b (7, 5)

  1. पायथन का उपयोग करके स्वैप फ़ाइलों को कैसे हटाएं?

    स्वैप फ़ाइलों का एक्सटेंशन .swp होता है। किसी फ़ोल्डर से सभी स्वैप फ़ाइलों को पुनरावर्ती रूप से निकालने का सबसे आसान तरीका फ़ाइल नामों से मिलान करने और इन फ़ाइलों को हटाने के लिए एक्सटेंशन नाम (.swp) के साथ स्ट्रिंग फ़ंक्शन एंडविथ का उपयोग करना है। उदाहरण import os, os.path mypath = "my_folder