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

पायथन में दिए गए टार्गेट से बड़ा जोड़ों का न्यूनतम योग खोजने का प्रोग्राम


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची और एक मान target है। हमें दो संख्याओं के जोड़े का सबसे छोटा योग ढूंढना है जो target से बड़ा हो।

उदाहरण के लिए, यदि इनपुट nums = [2, 4, 6, 10, 14] और target = 10 है, तो आउटपुट 12 होगा, क्योंकि हम 2 और 10 चुनते हैं।

समाधान दृष्टिकोण

इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे (टू-पॉइंटर तकनीक):

  • nums को सॉर्ट करें
  • n := len(nums)
  • answer := 10^10
  • i := 0, j := n-1
  • जब तक i < j:
    • यदि nums[i] + nums[j] > target:
      • answer := min(answer, nums[i]+nums[j])
      • j := j-1
    • अन्यथा:
      • i := i+1
  • answer लौटाएं

उदाहरण कोड

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

  1. - Python में सबलिस्ट का योग दी गई सूची के कुल योग से सख्ती से अधिक है या नहीं जांचने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें यह जांचना है कि क्या कोई सबलिस्ट है जैसे कि उसका योग सूची के कुल योग से सख्ती से अधिक है। तो, यदि इनपुट nums = [1, -2, 3, 4] जैसा है, तो आउटपुट True होगा, क्योंकि सूची का योग 6 है और सबलिस्ट [3, 5] का योग 8 है जो सख्ती से बड़ा है। इसे हल

  1. - Python में दिए गए योग वाले कुछ संख्याओं का गुणनफल खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है, हमें दो या अधिक संख्याएं ढूंढनी हैं जैसे कि उनका योग n के बराबर हो, और इन संख्याओं का गुणनफल अधिकतम हो, हमें गुणनफल ढूंढना है। तो, यदि इनपुट n = 12 जैसा है, तो आउटपुट 81 होगा, क्योंकि 3 + 3 + 3 + 3 = 12 और 3 * 3 * 3 * 3 = 81। इसे हल करने के लिए, हम इन चरणों का

  1. - पायथन में लक्ष्य से बड़ा सबसे छोटा अक्षर ढूंढें

    मान लीजिए हमारे पास क्रमबद्ध वर्णों की एक सूची है। इसमें केवल लोअरकेस अक्षर हैं, अब हमारे पास एक लक्ष्य अक्षर t है, हमें सूची में उस सबसे छोटे तत्व को ढूंढना है जो दिए गए लक्ष्य से बड़ा है। अक्षर रैप अराउंड भी करते हैं। इसलिए, यदि लक्ष्य t = z है और letters = [a, b], तो उत्तर a है। उदाहरण के लिए, य