मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक और एक अन्य मूल्य लक्ष्य कहा जाता है। हमें युग्मों की अधिकतम संख्या ज्ञात करनी है जहाँ प्रत्येक युग्म के लिए i
इसलिए, यदि इनपुट संख्या =[2, 4, 6, 10, 11], लक्ष्य =5 जैसा है, तो आउटपुट 2 होगा, क्योंकि हम जोड़े प्राप्त कर सकते हैं:(2, 6), (5, 10)पी>
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- N :=A का आकार
- सूची A को क्रमित करें
- उत्तर:=0
- जे:=एन / 2
- मैं के लिए 0 से एन / 2 की सीमा में, करते हैं
- जबकि j
- j :=j + 1
- जबकि j
- अगर जे <एन, तो
- उत्तर:=उत्तर + 1
- j :=j + 1
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, A, target): N = len(A) A.sort() ans = 0 j = N >> 1 for i in range(N >> 1): while j < N and A[j] - A[i] < target: j += 1 if j < N: ans += 1 j += 1 return ans ob = Solution() nums = [2, 4, 6, 10, 11] target = 5 print(ob.solve(nums, target))
इनपुट
[2, 4, 6, 10, 11], 5
आउटपुट
2