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

पायथन में KLength सबलिस्ट को हटाने के बाद न्यूनतम आयाम खोजने का कार्यक्रम

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

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

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

  • N :=अंकों का आकार

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

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

  • मैं के लिए 1 से एन -1 की सीमा में, करो

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

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

  • मैं के लिए एन - 2 से 0 की श्रेणी में, 1 से घटाएं, करें

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

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

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

  • मैं के लिए 0 से एन - के -2 की सीमा में, करो

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

    • उत्तर :=न्यूनतम उत्तर और कैंडिडेट

  • वापसी उत्तर

उदाहरण

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

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. न्यूनतम संख्या रंग खोजने का कार्यक्रम पायथन में विलय के बाद रहता है

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

  1. अजगर में k संचालन के बाद न्यूनतम संभव अधिकतम मूल्य खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है और दूसरा मान k है। आइए अब हम एक ऐसी संक्रिया पर विचार करें जिसमें हम सूची के किसी भी अवयव से 1 घटा सकते हैं। हम इस ऑपरेशन को k बार कर सकते हैं। k ऐसे संक्रियाओं के बाद हमें सूची में न्यूनतम संभव अधिकतम मान ज्ञात करना होगा। इसलिए, यद

  1. पायथन में K वेतन वृद्धि के बाद सबसे लंबे समय तक समकक्ष सबलिस्ट खोजने का कार्यक्रम

    मान लीजिए हमारे पास संख्याओं की एक सूची है जिसे nums और k कहा जाता है। अब, एक ऑपरेशन पर विचार करें जहां हम किसी एक तत्व को एक बार बढ़ा सकते हैं। यदि हम अधिकतम k बार संचालन कर सकते हैं, तो हमें समान तत्वों वाली सबसे लंबी उपसूची ढूंढनी होगी। इसलिए, यदि इनपुट अंकों की तरह है =[3, 5, 9, 6, 10, 7] k =6,