কম্পিউটার

পাইথনে সর্বাধিক জল সহ ধারক


ধরুন আমাদের কাছে n অ-নেতিবাচক পূর্ণসংখ্যার একটি সেট আছে a1, a2, ..., an, প্রতিটি মান স্থানাঙ্কের একটি বিন্দুকে প্রতিনিধিত্ব করে (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, উচ্চ :=arr এর দৈর্ঘ্য – 1, উত্তর :=0
  • যদিও কম <উচ্চ
    • যদি arr[low]
    • অন্যথায় min_h :=height[high] এবং min_ind :=high
    • উত্তর :=সর্বাধিক (উচ্চ - নিম্ন)* মিনিট_ঘণ্টা এবং উত্তর
    • যদি কম + 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. পাইথনের সাথে একটি PDF 3D-এ একটি 3D-প্লট সংরক্ষণ করা হচ্ছে

  2. বোকেহ (পাইথন) এর চিত্রগুলির সাথে কীভাবে কাজ করবেন?

  3. Python - PyGame এর সাথে ছবি প্রদর্শন করুন

  4. পাইথনে বৃষ্টির পানি আটকানো