কম্পিউটার টিউটোরিয়াল

পাইথনে সর্বোচ্চ পানির কন্টেইনার


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

পাইথনে সর্বোচ্চ পানির কন্টেইনার

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

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

  • low := 0, high := arr की लंबाई - 1, ans := 0
  • जब तक low < high
    • यदि arr[low] < arr[high]: min_h := height[low] और min_ind := low
    • अन्यथा min_h := height[high] और min_ind := high
    • ans := (high - low)* min_h और ans का अधिकतम
    • यदि low + 1 = min_ind + 1, तो low को 1 से बढ़ाएं अन्यथा high को 1 से घटाएं
  • ans लौटाएं

उदाहरण

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

class Solution(object):    def maxArea(self, height):       low = 0       high = len(height) - 1       ans = 0       while low < high:          if height[low]

इनपुट

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

आउटपुट

49

  1. Python-এ 3D প্লট PDF 3D-এ সংরক্ষণ করা

  2. Bokeh (Python)-এ ইমেজ নিয়ে কাজ করার পদ্ধতি

  3. পাইথন PyGame: উইন্ডোতে ইমেজ (Image) লোড ও প্রদর্শন করুন

  4. পাইথনে রেইন ওয়াটার ট্র্যাপিং