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

पायथन में अधिकांश पानी वाला कंटेनर


मान लीजिए कि हमारे पास n गैर-ऋणात्मक पूर्णांकों का एक सेट है a1, a2, ..., a, प्रत्येक मान निर्देशांक (i, a[i]) पर एक बिंदु का प्रतिनिधित्व करता है। n लंबवत रेखाएं इस तरह से मौजूद हैं कि रेखा i के दो समापन बिंदु (i, a[i]) और (i, a[0]) पर हैं। हमें दो लाइनें ढूंढनी हैं, जो एक्स-अक्ष के साथ मिलकर एक कंटेनर बनाती हैं, इसलिए हमारा लक्ष्य दो कॉलम ढूंढना है जहां पानी की मात्रा अधिकतम हो। तो अगर सरणी [1,8,6,2,5,4,8,3,7] की तरह है, तो यह होगा

पायथन में अधिकांश पानी वाला कंटेनर

छायांकित भाग में, ऊँचाई 7 है और 7 खंड हैं, इसलिए कुल क्षेत्रफल वास्तव में 7 * 7 =49 है। यह आउटपुट है।

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

  • निम्न:=0, उच्च:=गिरफ्तारी की लंबाई -1, उत्तर:=0
  • जबकि कम <उच्च
    • अगर गिरफ्तारी [निम्न] <गिरफ्तारी [उच्च]:min_h :=ऊंचाई [निम्न] और min_ind :=कम
    • अन्यथा min_h :=height[high] and min_ind :=high
    • उत्तर :=अधिकतम (उच्च-निम्न)* min_h और उत्तर
    • यदि निम्न + 1 =min_ind + 1, तो निम्न को 1 से बढ़ाएं अन्यथा उच्च को 1 से घटाएं
  • वापसी उत्तर

उदाहरण

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

class Solution(object):
   def maxArea(self, height):
      low = 0
      high = len(height) - 1
      ans = 0
      while low < high:
         if height[low]<height[high]:
            min_height = height[low]
            min_height_index = low
         else:
            min_height = height[high]
            min_height_index = high
         ans = max(((high - low) ) * min_height,ans)
         if low+1==min_height_index+1:
            low+=1
         else:
            high-=1
      return ans
ob1 = Solution()
print(ob1.maxArea([1,8,6,2,5,4,8,3,7]))

इनपुट

[1,8,6,2,5,4,8,3,7]

आउटपुट

49

  1. बोकेह (पायथन) में छवियों के साथ कैसे काम करें?

    बोकेह में छवियों के साथ काम करने के लिए, image_url() . का उपयोग करें विधि और छवियों की एक सूची पास करें। कदम किसी फ़ाइल में सहेजे गए आउटपुट को उत्पन्न करने के लिए डिफ़ॉल्ट आउटपुट स्थिति को कॉन्फ़िगर करें जब :func:show कहा जाता है। प्लॉटिंग के लिए एक नया चित्र बनाएं। दिए गए URL से लोड की गई छवियों क

  1. पायथन - PyGame के साथ चित्र प्रदर्शित करें

    Pygame गेम और मल्टीमीडिया एप्लिकेशन बनाने के लिए Python के लिए एक मल्टीमीडिया लाइब्रेरी है। इस लेख में हम देखेंगे कि pygame विंडो में इसकी ऊंचाई, चौड़ाई और स्थिति को ध्यान में रखते हुए स्क्रीन पर चित्र को पेंट करने के लिए pygame मॉड्यूल का उपयोग कैसे करें। नीचे दिए गए प्रोग्राम में हम pygame मॉड्यू

  1. पायथन में वर्षा जल को फंसाना

    मान लीजिए कि हमारे पास n गैर-ऋणात्मक पूर्णांकों की एक सरणी है। ये एक ऊंचाई के नक्शे का प्रतिनिधित्व कर रहे हैं जहां प्रत्येक बार की चौड़ाई 1 है, हमें गणना करनी होगी कि बारिश के बाद यह कितना पानी फंसा सकता है। तो नक्शा इस तरह होगा - यहां हम देख सकते हैं कि 6 नीले बॉक्स हैं, इसलिए आउटपुट 6 होगा। इ