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

अजगर में k संख्याओं को हटाने के बाद आसन्न मूल्यों का अधिकतम अंतर खोजने का कार्यक्रम

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

इसलिए, यदि इनपुट संख्या =[15, 20, 30, 400, 1500] k =2 की तरह है, तो आउटपुट 10 होगा, जैसे कि हम 20 और 30 का अंतर पाने के लिए [400, 1500] हटाते हैं।

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

  • abs_diff :=अंकों में लगातार प्रत्येक तत्वों के अंतर की एक सूची
  • एक फ़ंक्शन को परिभाषित करें dp() । इसमें i, j, cnt
  • . लगेगा
  • यदि cnt 0 के समान है, तो
    • एम :=0
    • k के लिए i से j तक, do
      • m :=अधिकतम m और abs_diff[k]
    • वापसी मी
  • dp(i + 1, j, cnt-1) और dp(i, j-1, cnt-1) का न्यूनतम रिटर्न करें
  • मुख्य विधि से निम्न कार्य करें:
  • रिटर्न dp(0, size of abs_diff - 1, k)

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

उदाहरण

class Solution:
   def solve(self, nums, k):
      abs_diff = [nums[i] - nums[i - 1] for i in range(1, len(nums))]

      def dp(i, j, cnt):
         if cnt == 0:
            m = 0
            for k in range(i, j + 1):
               m = max(m, abs_diff[k])
            return m
         return min(dp(i + 1, j, cnt - 1), dp(i, j - 1, cnt - 1))

      return dp(0, len(abs_diff) - 1, k)
     
ob = Solution()
nums = [15, 20, 30, 400, 1500]
k = 2
print(ob.solve(nums, k))

इनपुट

[15, 20, 30, 400, 1500], 2

आउटपुट

10

  1. पायथन में संख्याओं को हटाकर अधिकतम योगात्मक अंक प्राप्त करने का कार्यक्रम

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

  1. बाद के अधिकतम योग को खोजने के लिए कार्यक्रम, जहां दो मानों का अंतर पायथन में उनकी स्थिति के अंतर के समान है

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

  1. अधिकतम तीन नंबर खोजने के लिए पायथन प्रोग्राम

    इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो तीन अंकों से अधिकतम राशि का पता लगाता है। हमारे पास तीन संख्याएँ होंगी, और हमारा लक्ष्य उन तीन संख्याओं में से अधिकतम संख्या ज्ञात करना है। आइए बेहतर समझ के लिए कुछ नमूना परीक्षण मामलों को देखें। Input: a, b, c = 2, 34, 4 Output: 34 Input: a