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

पायथन में सबसे छोटा जोड़ी योग जहां दूरी लगातार नहीं है खोजने का प्रोग्राम

मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है। अब किसी भी इंडेक्स जोड़े (i, j) पर विचार करें जहां i < j और j - i > 1। फिर सबसे छोटा जोड़ी योग ढूंढें।

इसलिए, यदि इनपुट है nums = [3, 4, 2, 2, 4], तो आउटपुट होगा 5, हम मान 3 और 2 चुन सकते हैं इसलिए कुल योग 5 है। हम 2 और 2 नहीं चुन सकते क्योंकि वे आसन्न हैं, और j - i > 1 प्रतिबंध का उल्लंघन करते हैं।

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

  • n := nums का आकार
  • min_seen := nums[0]
  • ans := inf
  • i के लिए 2 से n - 1 तक की रेंज में, करें:
    • ans := min(ans, min_seen + nums[i])
    • min_seen := min(min_seen, nums[i - 1])
  • ans लौटाएं

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

def solve(nums):
    n = len(nums)
    min_seen = nums[0]
    ans = float("inf")
    for i in range(2, n):
        ans = min(ans, min_seen + nums[i])
        min_seen = min(min_seen, nums[i - 1])
    return ans
nums = [3, 4, 2, 2, 4]
print(solve(nums))

इनपुट

[3, 4, 2, 2, 4]

आउटपुट

5
  1. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे का योग निकालने की आवश्यकता है। पूरे ऐरे को पार करने और प्रत्येक इंडेक्स पर तत्व को जोड़कर योग प्राप्त करने का ब्रूट-फोर्स दृष्टिकोण नीचे चर्चा किया गया है। उदाहरण # sum फ़ंक्शन def

  1. पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट दी गई है, हमें संचयी योग के साथ एक लिस्ट बनानी है। उदाहरण # संचयी योग def Cumulative(l): new = [] cumsum = 0 for element in l: cumsum += element new.append(cumsum) return new # ड्राइवर

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें