मान लीजिए A और B दो दोस्त हैं। उनके पास अलग-अलग आकार की कैंडी बार हैं। यहां A[i] A के स्वामित्व वाली i-वीं कैंडी बार का आकार है, और B[j] B के स्वामित्व वाली j-वीं कैंडी बार का आकार है।
चूंकि वे दोस्त हैं, वे एक-एक कैंडी बार का आदान-प्रदान करना चाहते हैं ताकि आदान-प्रदान के बाद, A और B दोनों के पास कैंडी की कुल मात्रा समान हो। (एक व्यक्ति के पास कैंडी की कुल मात्रा उनके पास मौजूद कैंडी बार के आकार का योग है।) हमें एक पूर्णांक सरणी ans वापस करनी है, जहां ans[0] वह कैंडी बार का आकार है जिसे A को देना होगा, और ans[1] वह कैंडी बार का आकार है जिसे B को देना होगा। यदि कई उत्तर हैं, तो हम उनमें से केवल एक वापस करेंगे।
उदाहरण के लिए, यदि A = [1, 2] और B = [2, 3], तो आउटपुट [1, 2] होगा।
हल करने के चरण
- A के योग और B के योग के बीच का अंतर लें, फिर इसे 2 से विभाजित करें, और पूर्णांक भाग को diff में लें
- B को एक सेट में बदलें
- A में प्रत्येक i के लिए
- यदि i - diff 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]