मान लीजिए कि हमारे पास ए, बी, सी, और डी की चार सूचियां हैं, और एक लक्ष्य मान भी है, हमें अलग-अलग चौगुनी (i, j, k, l) की संख्या ज्ञात करनी होगी जैसे कि A[i] + B[ j] + C[k] + D[l] लक्ष्य के समान है।
तो, अगर इनपुट ए =[5, 4, 3] बी =[8, 4] सी =[6, 2] डी =[4, 10] लक्ष्य =23 जैसा है, तो आउटपुट 3 होगा, चौगुनी हैं [5, 8, 6, 4] [3, 4, 6, 10] [3, 8, 2, 10]।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- गिनती :=0
- m :=एक खाली नक्शा
- ए में प्रत्येक i के लिए, करें
- B में प्रत्येक j के लिए, करें
- m[i + j] :=m[i + j] + 1
- सी में प्रत्येक k के लिए, करें
- D में प्रत्येक z के लिए, करें
- यदि (लक्ष्य - (k + z)) मी में है, तो
- गिनती:=गिनती + एम[लक्ष्य - (के + जेड)]
- यदि (लक्ष्य - (k + z)) मी में है, तो
- D में प्रत्येक z के लिए, करें
- B में प्रत्येक j के लिए, करें
- वापसी की संख्या
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
class Solution: def solve(self, A, B, C, D, target): count = 0 from collections import defaultdict from collections import Counter m = defaultdict(int) for i in A: for j in B: m[i + j] += 1 for k in C: for z in D: if target - (k + z) in m: count += m[target - (k + z)] return count ob = Solution() A = [5, 4, 3] B = [8, 4] C = [6, 2] D = [4, 10] target = 23 print(ob.solve(A, B, C, D, target))
इनपुट
[5, 4, 3], [8, 4], [6, 2], [4, 10], 23
आउटपुट
3