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

पायथन में 4सम II


मान लीजिए कि हमारे पास पूर्णांक मानों की चार सूचियाँ A, B, C, D हैं, तो हमें गणना करनी होगी कि कितने टुपल्स (i, j, k, l) ऐसे हैं कि A[i ] + बी [जे] + सी [के] + डी [एल] शून्य है। मान लें कि सभी ए, बी, सी, डी की लंबाई समान है, जहां 0 ≤ एन ≤ 500 है। याद रखें कि सभी पूर्णांक -228 से 228 - 1 की सीमा में हैं और परिणाम अधिकतम 231 - 1 होने की गारंटी है। इसलिए यदि इनपुट ए =[1, 2], बी =[-2, -1], सी =[-1, 2], डी =[0, 2] हैं, तो आउटपुट 2 होगा। ऐसा इसलिए है क्योंकि वहाँ हैं दो टुपल्स, वे हैं (0, 0, 0, 1) तो ए [0] + बी [0] + सी [0] + डी [1] =1 + (-2) + (-1) + 2 =0 , और दूसरा टपल है (1, 1, 0, 0), A[1] + B[1] + C[0] + D[0] =2 + (-1) + (-1) + 0 =0

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

  • सम नाम का एक नक्शा बनाएं
  • ए में प्रत्येक तत्व के लिए
    • बी में प्रत्येक तत्व j के लिए
      • यदि i + j योग मानचित्र में नहीं है, तो योग सेट करें [i + j] :=1
      • अन्यथा रकम का मूल्य बढ़ाएं[i + j]
  • काउंटर:=0
  • सी में प्रत्येक तत्व के लिए
    • डी में प्रत्येक तत्व j के लिए
      • अगर (-1)*(i + j) रकम में, तो काउंटर :=काउंटर + योग[-1 * (i + j)]
  • वापसी काउंटर

उदाहरण

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

class Solution(object):
   def fourSumCount(self, A, B, C, D):
      sums ={}
      for i in A:
         for j in B:
            if i+j not in sums:
               sums[i+j] = 1
            else:
               sums[i+j] +=1
      counter = 0
      for i in C:
         for j in D:
            if -1 * (i+j) in sums:
               #print(-1 * (i+j))
               counter+=sums[-1*(i+j)]
      return counter
ob1 = Solution()
print(ob1.fourSumCount([1,2], [-2,-1], [-1,2], [0,2]))

इनपुट

[1,2]
[-2,-1]
[-1,2]
[0,2]

आउटपुट

2

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

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

  1. पायथन में अंडरस्कोर (_)

    पायथन में कुछ मामलों में हम सिंगल अंडरस्कोर (_) का उपयोग करते हैं और कुछ मामलों में हम डबल अंडरस्कोर (__) का उपयोग करते हैं। पायथन में निम्नलिखित मामले हैं, जहां हम अंडरस्कोर का उपयोग करते हैं। अगर हम दुभाषिए में लास्ट एक्सप्रेशन की वैल्यू स्टोर करना चाहते हैं। यदि हम कुछ मूल्यों को अनदेखा करना चा

  1. पायथन में क्विन

    क्विन एक प्रोग्राम है, जो कोई इनपुट नहीं लेता है, लेकिन यह आउटपुट का उत्पादन करता है। यह इसका अपना सोर्स कोड दिखाएगा। इसके अतिरिक्त, क्विन की कुछ शर्तें हैं। हम प्रोग्राम के अंदर सोर्स कोड फ़ाइल नहीं खोल सकते। उदाहरण कोड a=a=%r;print (a%%a);print (a%a) आउटपुट a=a=%r;print (a%%a);print (a%a) य