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

पायथन में हिस्टोग्राम के तहत सबसे बड़ा आयत क्षेत्र खोजने का कार्यक्रम

मान लीजिए कि हमारे पास हिस्टोग्राम में बार की ऊंचाई का प्रतिनिधित्व करने वाली संख्याओं की एक सूची है। हमें सबसे बड़े आयत का क्षेत्रफल ज्ञात करना है जो कि सलाखों के नीचे बन सकता है।

इसलिए, यदि इनपुट अंकों की तरह है =[3, 2, 5, 7]

पायथन में हिस्टोग्राम के तहत सबसे बड़ा आयत क्षेत्र खोजने का कार्यक्रम

तो आउटपुट 10

. होगा

पायथन में हिस्टोग्राम के तहत सबसे बड़ा आयत क्षेत्र खोजने का कार्यक्रम

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

  • stk :=एक स्टैक और शुरू में इसमें -1 डालें
  • ऊंचाई के अंत में 0 डालें
  • उत्तर:=0
  • i के लिए 0 से लेकर ऊंचाई के आकार तक, करें
    • जबकि ऊंचाई[i] <ऊंचाई[stk के शीर्ष], करते हैं
      • h :=ऊंचाई [stk के ऊपर] और stk से पॉप
      • w :=i - stk के ऊपर - 1
      • उत्तर:=अधिकतम उत्तर और (एच * डब्ल्यू)
    • मुझे stk में धकेलें
  • वापसी उत्तर

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

उदाहरण

class Solution:
   def solve(self, heights):
      stk = [-1]
      heights.append(0)
      ans = 0
      for i in range(len(heights)):
         while heights[i] < heights[stk[-1]]:
            h = heights[stk.pop()]
            w = i - stk[-1] - 1
            ans = max(ans, h * w)
         stk.append(i)
      return ans

ob = Solution()
nums = [3, 2, 5, 7]
print(ob.solve(nums))

इनपुट

[3, 2, 5, 7]

आउटपुट

10

  1. पायथन में हिस्टोग्राम में सबसे बड़ा आयत

    मान लें कि हमारे पास एक पूर्णांक सरणी है जो हिस्टोग्राम की ऊंचाई का प्रतिनिधित्व कर रही है। प्रत्येक बार में इकाई चौड़ाई होती है। हमें इस प्रकार सबसे बड़ा क्षेत्रफल आयत ज्ञात करना है - इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - स्टैक बनाएं, मैं सेट करें:=0, उत्तर:=0 जबकि मैं <ऊंचाई का

  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन प्रोग्राम

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

  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक इनपुट के रूप में एक सरणी को देखते हुए, हमें सरणी में सबसे बड़ा तत्व खोजने की जरूरत है। दृष्टिकोण हम अधिकतम को पहले तत्व के रूप में प्रारंभ करते हैं। इसके बाद, हम दिए गए सरणी को दूसरे तत्व से अ