मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक और एक अन्य मूल्य लक्ष्य कहा जाता है। हमें संख्याओं के युग्मों का न्यूनतम योग ज्ञात करना है जो लक्ष्य से बड़ा हो।
इसलिए, यदि इनपुट संख्या =[2, 4, 6, 10, 14] लक्ष्य =10 जैसा है, तो आउटपुट 12 होगा, जैसा कि हम 2 और 10 चुनते हैं
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- सूची संख्या क्रमित करें
- n :=अंकों का आकार
- उत्तर:=10^10
- i :=0, j :=n - 1
- जबकि मैं <जे, करते हैं
- यदि अंक [i] + अंक [j]> लक्ष्य, तो
- उत्तर:=न्यूनतम उत्तर और (अंक [i] + अंक [j])
- j :=j-1
- अन्यथा,
- i :=i + 1
- यदि अंक [i] + अंक [j]> लक्ष्य, तो
- वापसी का जवाब
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, nums, target): nums.sort() n = len(nums) answer = 10 ** 10 i, j = 0, n - 1 while i < j: if nums[i] + nums[j] > target: answer = min(answer, nums[i] + nums[j]) j -= 1 else: i += 1 return answer ob = Solution() nums = [2, 4, 6, 10, 14] target = 10 print(ob.solve(nums, target))
इनपुट
[2, 4, 6, 10, 14], 10
आउटपुट
12