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

सबलिस्ट के आकार को खोजने के लिए कार्यक्रम जहां न्यूनतम ए का उत्पाद और ए का आकार पायथन में अधिकतम किया जाता है

मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे nums कहा जाता है और दूसरा मान pos है। हमें अंकों का एक सबलिस्ट ए ढूंढना होगा जिसमें इंडेक्स पॉज़ शामिल हो (न्यूनतम ए) * (ए का आकार) अधिकतम हो और फिर मान वापस कर दें।

इसलिए, यदि इनपुट nums =[-2, 2, 5, 4] pos =3 जैसा है, तो आउटपुट 8 होगा, क्योंकि सबसे अच्छा सबलिस्ट [5, 4] है, क्योंकि (5, 4) =4 और इसका आकार 2 है हमारे पास 4 * 2 =8 है।

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

  • उत्तर:=ए [पॉज़], एम:=ए [पॉज़]

  • मैं:=स्थिति, जम्मू:=स्थिति

  • 0 से A-1 के आकार की श्रेणी में i के लिए निम्न कार्य करें, करें

    • बाएँ:=A[i - 1] अगर i - 1>=0 अन्यथा -inf

    • दाएं:=ए [जे + 1] अगर जे + 1 <ए का आकार अन्यथा -इनफ़

    • अगर बाएँ>=दाएँ, तो

      • मैं :=मैं - 1

      • मी :=न्यूनतम मी और ए[i]

    • अन्यथा,

      • जे:=जे + 1

      • मी :=न्यूनतम मी और ए[जे]

    • उत्तर :=अधिकतम उत्तर और (m *(j - i + 1))

  • वापसी उत्तर

उदाहरण

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

class Solution:
   def solve(self, A, pos):
      NINF = float("-inf")
      ans = m = A[pos]
      i = pos
      j = pos
      for _ in range(len(A) - 1):
         left = A[i - 1] if i - 1 >= 0 else NINF
         right = A[j + 1] if j + 1 < len(A) else NINF
         if left >= right:
            i -= 1
            m = min(m, A[i])
         else:
            j += 1
            m = min(m, A[j])
         ans = max(ans, m * (j - i + 1))
      return ans
ob = Solution()
nums = [-2, 2, 5, 4]
pos = 3
print(ob.solve(nums, pos))

इनपुट

[-2, 2, 5, 4], 3

आउटपुट

8

  1. दो सूचियों के कार्टेशियन उत्पाद को खोजने के लिए पायथन कार्यक्रम

    मान लीजिए हमारे पास डेटा l1 और l2 की दो सूची है। हमें इन दो सूचियों का कार्तीय गुणनफल ज्ञात करना है। जैसा कि हम जानते हैं कि यदि दो सूचियाँ (a, b) और (c, d) जैसी हैं तो कार्तीय गुणनफल {(a, c), (a, d), (b, c), (b, d)} होगा। . ऐसा करने के लिए हम itertools पुस्तकालय का उपयोग करेंगे और इस पुस्तकालय में

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

    मान लीजिए कि हमारे पास एक पंक्ति में व्यवस्थित पत्थरों के एन ढेर हैं। यहाँ i-वें ढेर में पत्थर हैं [i] पत्थरों की संख्या। एक चाल में K लगातार ढेर को एक ढेर में विलय करना होता है, अब इस चाल की लागत इन K संख्या के ढेर में पत्थरों की कुल संख्या के बराबर है। पत्थरों के सभी ढेरों को एक ढेर में मिलाने के

  1. ग्राफ़ में सबसे बड़े गुट के न्यूनतम आकार का पता लगाने का कार्यक्रम (पायथन)

    मान लीजिए कि हमें एक ग्राफ दिया गया है और ग्राफ में सबसे बड़े समूह का न्यूनतम आकार ज्ञात करने के लिए कहा गया है। ग्राफ़ का एक समूह एक ग्राफ़ का एक उपसमुच्चय होता है, जहाँ प्रत्येक शीर्ष जोड़े आसन्न होते हैं, अर्थात प्रत्येक जोड़े के बीच एक किनारा मौजूद होता है। एक ग्राफ में सबसे बड़ा गुट ढूँढना बहुप