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

पायथन में K लंबाई की सबलिस्ट डिलीट करने के बाद न्यूनतम एम्प्लीट्यूड ढूंढने का प्रोग्राम

मान लीजिए हमारे पास nums नामक संख्याओं की सूची और एक मान k है। पहले हम आकार k की एक सबलिस्ट हटाएंगे, फिर (nums का अधिकतम - nums का न्यूनतम) का न्यूनतम ढूंढें।

तो, यदि इनपुट nums = [2, 3, 10, 9, 8, 4] k = 3 है, तो आउटपुट 2 होगा, यदि हम [10, 9, 8] हटाते हैं तो हमें [2, 3, 4] मिलता है और 4 - 2 = 2।

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

  • N := nums का आकार

  • nums को lmin और lmax में कॉपी करें

  • nums को rmin और rmax में भी कॉपी करें

  • i के लिए 1 से N - 1 तक की रेंज में, करें

    • lmin[i] := lmin[i] और lmin[i - 1] का न्यूनतम

    • lmax[i] := lmax[i] और lmax[i - 1] का अधिकतम

  • i के लिए N - 2 से 0 तक, 1 से घटाते हुए, करें

    • rmin[i] := rmin[i] और rmin[i + 1] का न्यूनतम

    • rmax[i] := rmax[i] और rmax[i + 1] का अधिकतम

  • ans := (rmax[k] - rmin[k]), (lmax[~k] - lmin[~k]) का न्यूनतम

  • i के लिए 0 से N - k - 2 तक की रेंज में, करें

    • cand := (lmax[i] और rmax[i + k + 1] का अधिकतम) - (lmin[i] और rmin[i + k + 1] का न्यूनतम)

    • ans := ans और cand का न्यूनतम

  • ans लौटाएं

उदाहरण

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

def solve(nums, k):
    N = len(nums)
    lmin, lmax = nums[:], nums[:]
    rmin, rmax = nums[:], nums[:]
    for i in range(1, N):
        lmin[i] = min(lmin[i], lmin[i - 1])
        lmax[i] = max(lmax[i], lmax[i - 1])
    for i in range(N - 2, -1, -1):
        rmin[i] = min(rmin[i], rmin[i + 1])
        rmax[i] = max(rmax[i], rmax[i + 1])
    ans = min(rmax[k] - rmin[k], lmax[~k] - lmin[~k])
    for i in range(N - k - 1):
        cand = max(lmax[i], rmax[i + k + 1]) - min(lmin[i], rmin[i + k + 1])
        ans = min(ans, cand)
    return ans

nums = [2, 3, 10, 9, 8, 4]
k = 3
print(solve(nums, k))

इनपुट

[2, 3, 10, 9, 8, 4], 3

आउटपुट

2
  1. पायथन में मर्जिंग के बाद न्यूनतम रंगों की संख्या खोजने का प्रोग्राम पायथन में मर्जिंग के बाद न्यूनतम रंगों की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास रंगों (R, G, B) की एक लिस्ट है। अब यदि दो अलग-अलग रंग अगल-बगल हैं तो वे तीसरे रंग के एकल रंग आइटम में बदल सकते हैं। हमें किसी भी संभावित परिवर्तन अनुक्रम के बाद शेष सबसे छोटी संख्या ढूंढनी है।उदाहरण के लिए, यदि इनपुट colors = [G, R, G, B, R] है, तो आउटपुट 1 होगा क्योंकि यह नीचे द

  1. - पायथन में सूची के गैर-आसन्न तत्वों का अधिकतम योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें एक फ़ंक्शन परिभाषित करना है जो गैर-आसन्न संख्याओं का अधिकतम योग लौटाता है। यहां संख्याएं 0 या नकारात्मक भी हो सकती हैं। उदाहरण के लिए, यदि इनपुट [3, 5, 7, 3, 6] है, तो आउटपुट 16 होगा, क्योंकि हम 3, 7, और 6 लेकर 16 प्राप्त कर सकते हैं। इसे हल

  1. - पायथन में सूची के तत्वों को बराबर करने के लिए न्यूनतम कुल लागत खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums और costs नामक दो संख्याओं की सूचियां हैं। अब एक ऑपरेशन पर विचार करें जहां हम nums[i] को costs[i] लागत पर बढ़ा या घटा सकते हैं। हम इन ऑपरेशनों को कितनी भी बार कर सकते हैं, और हम nums के सभी तत्वों को बराबर बनाना चाहते हैं। हमें आवश्यक न्यूनतम कुल लागत ढूंढनी है। उदाहरण के लि